Most DBAs today don’t have the luxury of only worrying about SQL Server traffic within a single datacenter. We have things like geographically dispersed datacenters, remote users connecting over a VPN, and old or slow networks for non-production environments to worry about. We can’t always just increase packet size. In these cases, network performance can be a big problem even for moderate workloads. We may not be able to send data in larger packets, but we can accelerate the traffic by reducing the traffic that has to be transmitted. But we’re going to need a little help. Here’s two possible solutions, one hardware and one software.
Riverbed WAN Optimization Appliance
If you have geographically dispersed datacenters and only need to worry about traffic acceleration between servers in different locations, then Riverbed produces a variety of hardware appliances for WAN optimization. When I was at Microsoft, there was an initiative to provide a similar experience to end users of public websites no matter where they were located in the world. This meant that we had several applications for which my team did operations that decided to geo-locate the data to different datacenters globally using Peer-to-Peer replication (yes, you heard it here, people really use Peer-to-Peer replication). Users would be routed to whichever web portal was geographically closest to them and the website would perform all of its data activities locally.
Website performance was great, but data-sync performance was not so. Network latency between most datacenters was short, but the connection to the Singapore datacenter suffered severe latency to all other datacenters. If someone who connected to the web portal in Asia posted a message to the website, it could be double digit seconds before the message was globally visible. That just was not a similar experience for them. We fixed this by installing Riverbed WAN Optimization appliances in all of the datacenters we used.
WAN optimization appliances work by sitting between the servers and the network, intercepting the packets, and compressing them. To successfully compress the traffic, we had to have appliances at both ends of the network to compress and decompress the traffic. If there was not a pairing of appliances, the traffic had to be sent uncompressed. For the website I talked about in the previous paragraph, we were in five datacenters, so that meant installing 5 appliances, one per datacenter. Being physical hardware, it took up rack space which meant we had to have the space for it.
The appliance made replication distribution up to 10X faster between Singapore and the other datacenters taking latency from 12 seconds to 1 or 2 seconds. It came at a hefty price … times 5.
To see more about this solution, check out my slide deck from the presentation I did for the SQL PASS Data Architecture Virtual Chapter Case Study: Designing a GlobalScaled-out Architecture: CaseStudyGlobalScaledoutArchitecture.pptx (1190 KB).
Idera SQL Traffic Accelerator
If you think hardware appliances sound expensive, you are correct. And they have very limited use. What if you have a dozen offices that need to connect to a central datacenter? Buying 13 appliances is not going to be cost effective at all. It might be affordable if you could buy an appliance for just the datacenter and then the client side was free.
Or what if you have many remote users that need to connect directly to SQL Server? Or one of the many other scenarios where you need to provide traffic acceleration for clients? There is an affordable solution for that. Idera now offers SQL Traffic Accelerator to intercept and compress the TDS stream between SQL Server and clients or other servers. You may not be able to use a larger packet size, but you can compress the TDS data and reduce the number of packets that must be sent across the network.
Idera SQL Traffic Accelerator works by intercepting the TDS stream, compressing it, and sending it in less packets. Like the appliances we talked about earlier, this process requires compressing the packet on one end and decompressing it on the other end.
Unlike appliances, SQL Traffic Accelerator is a software solution that is licensed PER SERVER. It is free to install on the clients. So if you have a dozen offices and one central SQL Server to which they all connect, you only need to license the single server and the clients are free. That’s 1 license versus multiple appliances. You can get comparable performance boosts for a price far below the appliance solution.
In addition to boosting your SQL traffic, SQL Traffic Accelerator also offers options like encrypting the TDS stream for cases where you need to ensure that data transmitted across the wire is secure. And you can customize your compression settings to control the threshold at which the TDS stream is compressed. SQL Traffic Accelerator performs dynamic compression and only compresses data that meets your designated threshold allowing you to tune performance of your compression activity.
To get more details on the performance boosts you can get from SQL Traffic Accelerator, watch this blog or follow @Idera_Software on Twitter for announcement of the availability of a whitepaper on SQL Traffic Accelerator. Or you download a free trial of Idera Traffic Accelerator today and see the difference for yourself.
I talked about two very different solutions that I have worked with for accelerating SQL traffic. If you have a high number of servers in geographically dispersed datacenters and are only worried about traffic from server to server, then a hardware solution like Riverbed WAN Optimization may be the right solution for you. If you are budget constrained, need to worry about clients (especially a high number of clients), or have varying needs, then a software solution like Idera Traffic Accelerator may be just what you need.