You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

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)

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)

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

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.

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.

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.

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

Cache Object Lifespan

The default config for ATS specifies that after 1 day(86,400 seconds), any object without a specific expiration should be flushed from the cache. I'd prefer that it stick around for about 6 months. This setting is contentious
in that what it should be is debatable.

CONFIG proxy.config.http.cache.heuristic_max_lifetime INT 15552000

STOP. Currently testing this setting.

  • No labels