Quick Setup Evaluation Guide
Nitrosphere exists to make the most out of every millisecond.
Clients/ Workstations Windows OS 10 or later*
Client-server Applications SQL Server (TDS) & SMB connections are accelerated by default. Additional TCP-based protocols can be added directly within the NitroAccelerator Console.
Linux It is possible to reduce latency by using a Linux system as an endpoint with Nitro installed to a Windows system as a proxy. Instructions below:
Proxy Setup for Use with NitroAccelerator.pdf
2-Tier Application Acceleration
3-Tier Application Acceleration
NitroAccelerator improves the connections between install points and allows for mixed connections. It is not required on all servers and endpoints to operate, though the benefits of doing so will reduce congestion throughout the environment.
Below are a series of recommendations to improve network performance, with or without NitroAccelerator. Each tip is optional, however, pursuing them will add a noticeable boost to Nitro's ability to accelerate and optimize your connections:
- (Optional, but recommended) Increase your network packet size to 32k. If SQL Server Force Encryption is enabled, set the packet size to 16k.
Microsoft documentation provides instructions to configure packet sizes and states that the configuration change should only be made by an 'experienced database administrator or certified SQL Server professional', but it does not dive into the pros and cons of making changes. The packet size is negotiated by both sides of the connection, so this configuration change is considered a non-issue. However, if you are working with a very old or custom application, or it you are unsure, please reach out to us to take a look.
- (Optional, but recommended) If your developers are utilizing Multiple Active Result Sets (MARS), we recommend that you ask them to disable MARS by removing it from the connection string. For more information, see Tip #4 on our blog post.
NitroAccelerator automatically monitors, and accelerates your existing TDS & SMB ports. If a connection cannot be established during testing, the issue will most likely be related to settings within NitroAccelerator. To resolve, simply click Stop within the NitroAccelerator console on both sides and restart services and applications. Reach out to us and we will assist.
- (Optional, but recommended) If you have a .NET SQL Server Application that processes large blocks of data, ensure that you are using .NET 4.5 or later with asynchronous processing. This will prevent your app from blocking while waiting for data from your network.
If you have a .NET Remoting Application, please note the Port that it connects on as it will need to be added within the NitroAccelerator Console during the activation process.
- (Optional, but recommended) If your goal is to improve application performance, we recommend longer test windows on as many geographically separated clients as possible. NitroAccelerator shines during peak hours of business when networks typically experience larger amounts of concurrent traffic.
It is common for those testing to ask application users running NitroAccelerator if they notice an improvement. Qualitative data is helpful, but quantitative data allows the ability to predict long-term impacts. Improving one query execution time or a few minutes of application usage is less impressive to decision makers than proving the underlying benefits to output and productivity. Each use-case has a separate series of goals and the Nitrosphere team is more than happy to provide insight.
All clients and servers are not required to have NitroAccelerator installed. Only connections that have NitroAccelerator on both ends will experience a performance improvement. You can install to 2 endpoints or to 20,000. The positive impact will snowball as more interconnected systems are accelerated. Your 14 day free trial countdown will not begin until installation to each specific machine and we can send you a trial extension key via email if your testing window requires more time to prove.
- To install, run the NitroAccelerator install file on the SQL Servers, Application Servers, and Clients of your choosing. (If you do not have the install file, head over to our website to request a copy.)
We recommend starting with endpoints correlated to the highest number of performance related IT support tickets, bandwidth congestion, and/or connection latency.
You can also install directly from the command line by pointing to the .msi installer file on your system:
msiexec /i NitroTurbo.msi /qn
Your inbound and outbound connections will display within the NitroAccelerator Console: Tools > Connections
Accelerated connections will show as blue
Non-accelerated connections will show as red
- To accelerate SQL Server Replication, restart your SQL agent(s).
- To accelerate Client/Server applications, restart correlated services and relaunch your applications.
- We typically start with a SQL Server Management Studio (SSMS) acceleration test. A test query is below.
A Server reboot is not required.
SET STATISTICS TIME ON
SET STATISTICS IO ON
SELECT * FROM sysobjects,sysprocesses;
Clients experience up to 20x speed improvements in SMB File Transfers and improved SMB Application Performance.
- This feature is on by default and can be disabled within compression settings: Tools > Compression Settings > Named Pipe Acceleration
Keep in mind that Named Pipe Acceleration must be enabled to accelerate all types of SQL Server TDS traffic.
- To accelerate SMB traffic, existing client connections need to be re-established. NitroAccelerator will not interrupt existing connections, but will accelerate newly formed connections. The easiest way to re-establish all SMB connections is a server reboot. If you are only testing on one client, then rebooting that system only will be sufficient.
Applications that use .NET Remoting benefit greatly from NitroAccelerator, but .NET Remoting developers get to choose the port that it operates on.
- These ports can be added to both the server and client console to accelerate: Tools > Configure Additional Protocols
If the protocol that you are trying to accelerate is not mentioned above, but is running on Windows (Oracle, DB2, or other databases), the configure additional protocol dialogue is available.
- Ports must be added to both the server and client console: Tools > Configure Additional Protocols
- For additional information, contact support.
The NitroAccelerator Console shows compression statistics for Nitro-enabled connections.
The two graphs show the outbound and inbound traffic where the blue lines are the actual compressed traffic and the red lines are what the traffic would be if it were uncompressed.
While you may experience immediate improvements in throughput and reductions in connection latency, we recommend tuning the software to fit your specific environment and requirements.
Once your preferred client configuration is identified, it can be deployed easily to your other clients. Contact support for more information.
Compression levels allow for modifying compression algorithms and can be configured to tune performance for your environment, existing latency, and data types.
While testing compression levels, click Reset Stats from the NitroAccelerator console between tests to properly log results.
- If you are seeing compression above 80% and you are still not seeing an improvement in throughput, see the following section on enabling ZLDC.
The ZLDC BETA feature is recommended only for medium to high speed network connections with high latency. The server must be able to communicate to the client to use the ZLDC. (For example, the server can ping the client.) Before enabling, we recommend reviewing our ZLDC Whitepaper or setting up a quick call with our team.
ZLDC eliminates latency delay from the TCP protocol to substantially improve throughput.
- All firewalls between the client and SQL Server need to be open for UDP traffic (default is UDP 6161) for both inbound and outbound traffic.
- Enable ZLDC Acceleration: Tools > Zero Latency Data Channel
- Enable ZLDC on all nodes.
- Depending on the number of connections and the compressibility of the data, you may need to make tuning adjustments within Tools > ZLDC.
- If you are hitting the cache size on the High Water Mark, contact support to discuss configuring the Packet Cache Size. We may recommend small increase adjustments to the value.
- The VPN server must be configured to allow both sides of the VPN to initiate communication.
- If the VPN client is a router (i.e., the clients don't connect to the VPN because the router has the connection to the VPN server), there needs to be a route between the 2 subnets.
The HyperCache is a client-side caching technology that can further improve performance in certain environments. It works by monitoring each query to determine how stable the results are. When a given query is determined to have stable results, the client will be given results from the cache instead of waiting for the server’s response. The query is still sent on to the server so the cache can be refreshed, and if the results of a query ever change, the query entry is invalidated until the result set is again shown to be stable. Only result sets of 64k or less will be cached, so HyperCache will have the biggest impact in environments with smaller repetitive queries. The Cache Size setting in the console determines the total number of queries that can be cached, so this can be adjusted as needed for your environment.
- For small repetitive queries and chatty Applications, we recommend activating this feature on your clients: Tools > HyperCache Settings
- Some applications require that certain queries be executed regardless of the result set and should not be cached. Contact support if you do not experience improvements in application load times and user experience.
- NitroAccelerator’s optional one-click Encryption secures network traffic between endpoints: Tools > Encryption Settings
- You have the option to select from our default encryption key or to set your own.
Encryption is required when moving over the internet.
Named Pipe acceleration might be required to accelerate all SQL Server traffic and is required to accelerate SMB traffic.
The Named Pipe Acceleration feature is enabled by default and can be disabled within the compression settings: Tools > Compression Settings
Multiple Active Result Sets (MARS) is a protocol used by SQL Server to reduce the number of connections required, but it often causes performance bottlenecks.
- MARS Acceleration is disabled by default. However, connections that use MARS are indicated within the connection dialogue of the console: Tools > Connections
- If you see MARS connections indicated within the connection dialogue, we recommend enabling this feature: Tools > Compression Settings
While the statistics on the NitroAccelerator console are helpful in determining that it is installed and running properly, you will want to track other Network Performance measurements and Key Performance Indicators to gauge and prove the full benefits of running NitroAccelerator within and across your environment.
While network performance monitoring solutions give more insight into impact, it is important to note that these solutions degrade performance if leveraged too heavily. It is a common use case for customers to use NitroAccelerator specifically to improve the performance of monitoring applications themselves.
During your trial, we recommend activating NitroAccelerator on as many relevant endpoints as possible over a trial period long enough to measure real-world quantitative results over time. If you are using a stopwatch to prove improvements in your client-server application performance, it is important to also keep an eye on improvements in the PoC variables below throughout your network.
For quick testing and advanced tuning, we run a simple
SELECTstatement from within SQL Server Management Studio both with and without NitroAccelerator enabled.
By running queries that are similar to what is found in your application, you can get an idea of possible impact.
To maintain data integrity, connections must be fully closed and re-established to enable or disable NitroAccelerator's SMB acceleration.
- The fastest way to A/B test SMB acceleration is to run a baseline file transfer via Microsoft File Sharing before installing and activating NitroAccelerator.
- While running the baseline test transfer, note the total transfer time and highest or average speed reached.
- Next, Install and activate NitroAccelerator and reboot your file server or the client you are testing from to fully re-establish the connection and avoid connection pooling.
- Open NitroAccelerator and check: Tools > Connections to ensure that your connections are blue text, meaning accelerated.
- Remove the copied file from the destination and then run the same file transfer again with Acceleration enabled to log and compare results.
- Query Execution Time
- Transactions Per Second (TPS)
- Throughput (MB/sec)
- Replication latency
- Page load time
- Application start time & performance
- File Transfer time
- High-priority IT Support Ticket counts
- Bandwidth usage and cloud fees
We have an expanding collection of PoC processes provided by customers spanning all industries. Reach out to discuss.
We strive to ensure that our customers receive exponential value from our acceleration software.
We provide perpetual licenses with the first year of support and maintenance included. After the first year, we offer continued support and updates for 20% of the original payment amount.
Nitrosphere offers special pricing to Municipalities, Public Utility Companies, and Organizations working on the front-line of disaster mitigation and response.
Invoices are sent via email. We accept Card, ACH, and Check. Online payments are processed by a certified PCI Service Provider Level 1 (the most stringent level of certification) payment gateway. Reach out to us Email: [email protected] Schedule a meeting: https://calendly.com/josh-nitrosphere/30min