Quick Setup Evaluation Guide

NitroAccelerator exists to reduce latency caused by distance and congestion.

If you would like to discuss the process, reach out to us for a call.

To reduce the amount of connection restarts, we recommend running a baseline test before installation. Test query example ->

System Requirements

Servers Windows Server 2016 or later

Clients/ Workstations Windows OS 10 or later

Client-server Applications With default install settings, SQL Server (TDS) & SMB connections are supported and accelerated. Additional TCP-based protocols can be added within NitroAccelerator settings.

Linux It is possible to reduce latency by using a Linux system as an endpoint with NitroAccelerator installed to a Windows system as a proxy. The physically closer the proxy is the the Linux endpoint, the better. Instructions below:

NitroAccelerator improves performance between the endpoints on which it is installed while allowing for mixed connections. If an endpoint equipped with NitroAccelerator connects with a non-Nitro endpoint, the connection and data transmission will function as intended, but without the added benefits of NitroAccelerator's optimization or acceleration.

1. Prepare to Test

Below are recommendations to improve network performance, with or without NitroAccelerator. Each tip is optional, however, implementing them will add a noticeable boost to Nitro's ability to best accelerate and optimize performance:

  • (Optional, but recommended) Increase your network packet size to 32k. If SQL Server Force Encryption is enabled, set the max 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 deep enough into the pros and cons of making those changes. This configuration change is considered a no-regret action. The packet size negotiation process involves the max size set on both ends of the connection. Opting for a larger packet size won't occur if the other side is incapable of accommodating it.

  • Disable MARS (Optional, but highly recommended) - If your developers are utilizing Multiple Active Result Sets (MARS), we recommend that you have them disable by removing it from the connection string. For more information, see Tip #4 on our blog post.

NitroAccelerator automatically accelerates TDS & SMB connections, regardless of port. If a connection cannot be established with NitroAccelerator enabled, the issue will most likely be related to uncommon application connection or encryption settings that can easily be resolved by our team. Click Stop within the NitroAccelerator console on both sides, restart relevant services and applications, and reach out to us to discuss.

  • Update .NET (Optional, but recommended) If you have a .NET SQL Server Application that processes large blocks of data, ensure that you are using the newest available version with asynchronous processing.

  • Testing Time-frame: (Optional, but recommended) If your goal is to improve application performance, we recommend longer test windows on as many geographically separated endpoints as possible. Impact expands dramatically during peak hours of business operation and when networks experience larger amounts of concurrent traffic. The connections with the highest latency will experience to most immediate benefit.

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 gauge and predict long-term and real-world impacts. Improving query execution time or a few minutes of application usage is less impressive to decision makers than proving the underlying benefits to overall output and productivity. Each use-case has a separate series of goals and the Nitrosphere team is available to share common variables. Check the PoC page for more info.

2. Install

NitroAccelerator does not need to operate on all endpoints in order to function. Only connections that have NitroAccelerator running on both ends will experience network performance improvements. The positive impact will further increase as more interconnected systems are accelerated.

When accelerating old or custom applications, we recommend proving the ability to connect and accelerate between two endpoints before expanding the test to all relevant endpoints.

If you are accelerating Replication that utilizes clustering, NitroAccelerator must be installed to every node within the cluster. Your free trial countdown will not begin until the time of installation. If the trial window does not fit within your approved testing window, please let us know and we will provide an extension.

NitroAccelerator must be installed while logged into the operating system as Administrator.

  • As Admin, run the NitroAccelerator install file on the Servers, Application Servers, and/or Clients of your choosing. (If you do not have the install file, head over to our website to request a copy.)

  • If presented with Windows UAC prompts during installation, click yes - allow. If you accidentally click no, you will need to complete the install process, uninstall, and reboot before retrying.

You can also install directly from the command line by pointing to the .msi installer file on your system. This method is recommended for wide deployments after preferred settings identified:

msiexec /i NitroTurbo.msi /qn

3. Activate Acceleration

Once NitroAccelerator is installed and running on both sides of a connection, it will begin to accelerate and optimize new connections. NitroAccelerator does not allow on-the-fly acceleration of existing connections in order to ensure reliability and security.

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

Enabling SQL Server Acceleration

A full Server reboot is not required to restart connections.

  • To accelerate SQL Server Replication, restart your SQL agent(s).

  • To accelerate Client/Server applications, restart correlated services and/or relaunch your applications.

Test Query Example

A quick and convenient way to test and benchmark the performance impact of acceleration is to run the following test query in SQL Server Management Studio (SSMS) with Nitro disabled on both sides and again with Nitro enabled on both sides. Be sure to restart SSMS after enabling or disabling acceleration within NitroAccelerator to fully activate or deactivate acceleration.

SET STATISTICS TIME ON
SET STATISTICS IO ON
GO
USE master;
GO
SELECT * FROM sysobjects,sysprocesses;

Enabling SMB Acceleration

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. Leaving this setting as default is recommended.

  • To enabled SMB acceleration, 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 file server reboot. If you are only testing on one server and one client, then rebooting the client only will be sufficient.

Enabling .NET Remoting Acceleration

Applications that leverage .NET Remoting benefit greatly from NitroAccelerator's acceleration. Since developers get to choose the port that their .NET Remoting applications operate on, it is required that you enter that port within NitroAccelerator settings.

  • Matching .NET Remoting ports must be added within NitroAccelerator on both sides of the connection in order to locate and accelerate: Tools > Configure Additional Protocols > Enter Ports > Check 'Enable Acceleration'

Enabling Custom Protocol Acceleration

If the protocol that you want to accelerate is not mentioned above, but is running on Windows (Oracle, DB2, or other databases), you can add it by port. NitroAccelerator can accelerate any TCP-based protocol, but alterations or special builds may be needed to fit your environment. Please reach out to the Nitrosphere team to discuss.

  • Matching ports must be added to both ends of the connection: Tools > Configure Additional Protocols > Enter Ports > Check 'Enable Acceleration'

4. Tuning & Additional Features

The main NitroAccelerator Console shows average compression statistics for Nitro-enabled connections.

The two graphs display outbound and inbound traffic. The blue lines represent compressed traffic, while the red lines illustrate the amount of bandwidth that would be transmitted if the traffic were not compressed.

While you may experience immediate improvements in performance, settings can be adjusted to fit your specific environment and goals. Information is below, but if you would like to save time, we can identify and provide suggestions during a 5-10 minute call.

Once your preferred settings have been identified, a member of Nitrosphere can provide direction on bulk deployment options with settings per-configured via CLI or Regedit.

Compression Settings

Compression levels allow for modifying compression algorithms and can be configured to tune performance to match your environment, previous latency, or data types. The default setting is recommended 90% of the time as it dynamically adjusts the compression level to maximize performance. We do not recommend altering compression settings unless you are working with extremely low connection speeds, extremely high latency, or combat edge burst transmissions.

While testing compression levels, click Reset Stats from the NitroAccelerator console between tests to properly log results.

  • If the console is reporting a compression rate below 80% for your highest traffic direction, please contact support. The issue could be installation, setup, activation, or data type. Regardless, we can provide benefiting insight.

Zero Latency Data Channel (ZLDC)

The ZLDC feature is recommended only for high speed connections that also have 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 the ZLDC Whitepaper and setting up a quick call with our team to confirm viability.

ZLDC eliminates latency 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.

  • NitroAccelerator must be running as admin on both sides. If you see the Windows UAC shield next to the Stop button of the console, click Stop > Yes > Agree to UAC prompt. This will restart the console as admin and the driver will continue running.

  • Enable ZLDC Acceleration: Tools > Zero Latency Data Channel

  • Enable ZLDC on all nodes.

  • New connections will now benefit from the standard acceleration, as well as the ZLDC acceleration.

  • The identifier 'DC' will display next to ZLDC connections within: Tools > Connections

Tuning ZLDC

  • 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, resolve by making small adjusted increases to the Packet Cache Size.

Instructions for VPN/VPC use with ZLDC

  • 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.

HyperCache

The HyperCache is a client-side caching technology that can further improve performance for chatty applications. 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. Client side only: Tools > HyperCache Settings

  • Some applications require that certain queries be executed regardless of the result set and should not be cached. If needed, the Nitrosphere team can block or allow certain queries from being cached.

Encryption

  • If you have SQL Server Force Encryption enabled, no action needs to be taken. NitroAccelerator honors the encryption negotiated by SQL Server.

  • 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 generate your own.

Encryption is required when moving over the internet.

MARS Acceleration

Multiple Active Result Sets (MARS) is an older protocol feature used by SQL Server to reduce the number of connections required. This feature is not recommended as it often causes large performance bottlenecks.

If possible, it is recommended that developers disable MARS, especially if clients will be accessing their applications beyond the LAN. For more information, see Tip #4.

  • 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

  • NitroAccelerator's MARS Acceleration is beneficial, but the positive impact is often far less than the positive impact of simply disabling MARS.

5. Proving NitroAccelerator

While the statistics on the NitroAccelerator console are helpful in determining operating and statistics for additional tuning, you will want to track other Network Performance measurements and Key Performance Indicators (KPI's) in order to gauge and prove the wide benefits of running NitroAccelerator within and across your environment.

Network monitoring solutions give more insight into impact, but it is important to note that these solutions degrade overall network performance when leveraged too heavily. It is a common advantage for customers to use NitroAccelerator specifically to improve the performance of network monitoring solutions themselves.

Proof of Concept

During your trial, we recommend activating NitroAccelerator on as many relevant endpoints as possible to measure real-world quantitative results over time. Network performance measurements include a series of overlapping variables that vary based on goals and architecture. It is important to note improvements in KPI's and PoC variables across your network.

SQL Server Traffic PoC

For quick testing and advanced tuning, we run a simple SELECT statement from within SQL Server Management Studio both with and without NitroAccelerator enabled.

SMB Traffic PoC

To maintain PoC integrity, we recommend running before and after tests of identical file transfers to log the max transmit speed and the time to complete. Keep in mind that when turning acceleration on or off, the connections must be fully closed and re-established to enable or disable NitroAccelerator's SMB acceleration.

  • To reduce the number of required connection restarts, we recommend running a baseline file transfer before installing and activating acceleration.

  • Next, activate NitroAccelerator and reboot your file server or the client you are testing from to fully re-establish the SMB connection while avoiding any possible connection pooling.

  • Open NitroAccelerator and check: Tools > Connections to ensure that your connections are showing as blue text, indicating that they are accelerating.

  • To maintain testing integrity, be sure to remove the baseline copied file(s) from the destination before running the accelerated test.

  • Log and compare results.

Common PoC Variables

  • 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 and KPI's provided by customers spanning all industries. They vary wildly based on goals and industry. Reach out to discuss.

Pricing

Nitrosphere provides 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. Customers can cancel at any time and if operating systems are being kept up-to-date, yearly renewals are highly recommended.

For a quick quote, send your Server, Backup Server, Application Server, and/or Client count to your person of contact or to: sales@nitrosphere.com.

If you would like to discuss your goals, budget, and receive access to our partner or bundle packages, schedule a quick call.

Nitrosphere offers special pricing to Municipalities, Public Utility Companies, 501(c)(3)'s and Organizations working with Defense, disaster mitigation, or response.

Purchasing Information

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: josh@nitrosphere.com Schedule a meeting: https://calendly.com/josh-nitrosphere/30min

Last updated