Ensure Environment Prerequisites
Before you start creating caches and cache clusters, you need to ensure that the following criterias have been met:
In the case of ASP.NET Core installation, the NCache Service is run with admin credentials. If you provided the required admin credentials at the time of setup installation, then you do not need to run NCache Service as administrator. But, in case you did not, you can do so by following the steps mentioned in the Run NCache Service as Administrator section.
If you have the firewall enabled, then you need to make sure to expose NCache specific ports, the details of which are provided in the Configure Firewall section.
If you're using a Distributed Cache with Persistence or Distributed Lucene with Persistence in-memory store type, it is strongly encouraged that you use an SSD instead of an HDD for optimal performance.
Run NCache Service as Administrator
You must run NCache Service as your local Administrator to publish PerfMon counters in .NET.
Go to the Start menu on the Taskbar and type Services.
Go to Services and then select NCacheSvc.
Right-click on NCacheSvc and select Properties.
From the Properties Window, select Log On and enter the Administrator's credentials. Select Apply.
It prompts you with a WARNING window which requires a Service Restart for changes to take effect. Restart the NCache Service by right-clicking on NCacheSvc.
Configure Firewall (Optional)
If you have a firewall or a router between your cache clients (web/app servers) and the cache servers, then you must open up specific ports in your firewall. This will ensure that cache clients are able to talk to the cache servers.
NCache server uses the following TCP ports for communication.
- Client/Server Port: 9800 (Default TCP port for cache client and server communication).
- Management Port: 8250 (Default TCP port for PowerShell cmdlets and NCache Service).
- Cluster Port: Cluster-port that you define in a cache cluster configuration. It is recommended to use a consecutive range of ports, (the default range is 7800-7900), and configure Firewall to allow communication on this port range.
- Cache Management Port: The port range for cache management. The default port range is 8300-8400.
- Web Management Port: 8251 (Default TCP port for NCache Management Center).
- Prometheus Server Port: 9090 (Default port at which the Prometheus server runs).
- SNMP Listeners Info Port 8256 (Default port at which SNMP listens to). This port is configurable and can be changed in the Alachisoft.NCache.Service.dll.config file.
- SNMP Cache Listeners The port range for SNMP cache listeners. The default port range is 11000-11999. All of these are UDP Ports.
- SNMP Client Listeners The port range for SNMP client listeners. The default port range is 12000-12999. All of these are UDP Ports.
- SNMP Bridge Listeners The port range for SNMP bridge listeners. The default port range is 13000-13999. All of these are UDP Ports.
- SNMP Bridge Cache Listeners The port range for SNMP bridge cache listeners. The default port range is 14000-14999. All of these are UDP Ports.
- Metrics Server Port 8255 (Default TCP port for the Metrics Server). The Prometheus agent also uses this port. This port is configurable and can be changed in the Alachisoft.NCache.Service.dll.config file.
If you want to use the bridge, open the following ports:
- Bridge Port: Default is 9900.
- Bridge Management port: Default is 8260.
- Bridge Ports: Default range is 10000-11000.
But, if there is a port conflict and the above default ports are being used by other applications then you must configure all the cache servers to use different ports.
Step 1: Modify The Service Configuration File
You can also change ports by modifying the service configuration file of all servers. This file is found in the NCache installation as follows:
- .NET Framework: Alachisoft.NCache.Service.exe.config located in %NCHOME%\bin\service
.NET: Alachisoft.NCache.Service.dll.config located in %NCHOME%\bin\service
Change the “Port” for Client/Server communication and “ManagementPort” for NCache management in the file below.
<appSettings> ... <add key="NCacheServer.Port" value="9800"/> ... <add key="NCacheServer.ManagementPort" value="8250"/> ... </appSettings>
Step 2: Restart NCache Service
For the configuration changes made to take effect, restart the NCache Service. Make sure you have enough privileges to restart the service. If the user is not part of the Administrator's group, make sure to run Windows PowerShell as administrator, otherwise you might get an error message that Cannot open ncachesvc service on computer.
Execute the following command in the terminal of your choice to restart the NCache Service:
Restart-Service -Name NCacheSvc