While the default configuration values for Linux as a server OS will get you up and running, they're not exactly tuned for using ATS.

They're actually designed to allow for maximum throughput of a webserver or similar software.

This page documents what I've discovered myself through a fair amount of experimentation and real-world experience.

NOTE:  Please use the following with Apache Traffic Server v5.0.0 and higher.

Linux Tuning Parameters

Keeping in mind I use Traffic Server in a low-traffic environment, here are the sysctl parameters I've found useful.

One can activate these by using the "sysctl" command, or simply copy and paste the below code block to /etc/sysctl.conf and reboot.

 

I'll try to explain these as simply as possible.

The first two settings are Linux's default socket buffer sizes.  I've found setting this to roughly my "average object size" as reported by "traffic_top" has helped significantly.  For me that value is 64K.

The next two settings are Linux's maximum socket buffer size.  I've found setting this relative to my client's link speed has helped.  For me, the link speed is 50Mbps, thus 2MB works out pretty well.

The next two settings specify how Linux handles dynamic IPv4 TCP/IP socket buffer sizes.  I simply reused my settings from above.

The final two settings specifies how Linux optimizes the IPv4 TCP/IP stack.  I found the default, which specifies throughput and NOT latency, to really cause me problems.

I honestly don't know how well these two last settings scale, but I'll bet they do okay.  I found this helped tremendously on a datacenter-grade link.

net.core.rmem_default=98304
net.core.wmem_default=98304
net.core.rmem_max=2097152
net.core.wmem_max=2097152
net.ipv4.tcp_rmem=4096 98304 2097152
net.ipv4.tcp_wmem=4096 98304 2097152
net.ipv4.tcp_low_latency=1
net.ipv4.tcp_slow_start_after_idle=0

 

That's it!  One should probably restart ATS just to be on the safe side, but once these settings are activated they take effect immediately.

 

Previous Page:  WebProxyCacheTuning

Next Page: WebProxyCacheBrowser

 

 

  • No labels