Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

While the default configuration values for ATS will get you up and running,
at the moment they're designed for regression testing and not real-world applications.

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

The following lists the steps involved in taking a generic configuration,
and modifying it for my own needs. Yours may vary, however, and I'll do my best
to indicate which settings should be sized based on your install.

Both Wiki pages use configuration examples from my running home Traffic Server setup.

Current Home Machine

  • Make/Model: Apple iMac 2011(TODO: double-check the year)
  • CPU: 3.4 Ghz Intel Core i7 (quad-core)
  • Memory: 8GB
  • Disk: 1TB
  • OS: Mac OS X v10.8.5
  • Cache Size: 2GB (see /usr/local/etc/trafficserver/storage.config)

The following settings are all located in /usr/local/etc/trafficserver/records.config.
When adding lines, simply organize them in alphabetic sequence.

Current Testing Regimen

The following settings have been tested against the following:

  • IPv4 websites
  • IPv6 websites
  • Explicitly difficult web pages (i.e. Bing Image Search)
  • Explicitly SSL web sites (i.e. Facebook)

CPU Cores (also multiple CPUs)

The default config for ATS supports up to 2 CPUs. I have 4 and decided to update the config to reflect that.
One could actually increase this setting higher, but I'm not a huge fan of Hyperthreading so I didn't bother.

Code Block
CONFIG proxy.config.exec_thread.affinity INT 1
CONFIG proxy.config.exec_thread.limit INT 4

HTTP Chunking

The default config for ATS specifies that the proxy itself use data "chunks" of 4KB each. Being that I'm on a
high-speed Internet link at home, I decided to increase this. I found settings above 128KB actually slowed
things down so I believe this to be optimal.

Code Block
CONFIG proxy.config.http.chunking.size INT 131072

Inbound And Outbound HTTP Connections

The default config for ATS sets these artificially low. I found that remote webservers themselves actually
slow down if more than 16 simultaneous connections are attempted. Also, most popular browsers support
up to 256 simultaneous connections from browser to proxy server so our ATS config should reflect that.

Code Block
CONFIG proxy.config.http.origin_server_pipeline INT 16
CONFIG proxy.config.http.user_agent_pipeline INT 256