On 06/02/2011 11:29 AM, John Plevyak wrote:
On Wed, Jun 1, 2011 at 10:25 AM, Steve Cole <[email protected]
<mailto:[email protected]>> wrote:
Are there any kernel params that traffic server likes vs. squid?
This made a
sizable difference in scalabilty in squid, FWIW.
I think Leif has a list of sysctl changes which help.
http://people.apache.org/~zwoop/ats/sysctls.linux
I'm not positive the mmap sysctl change is necessary any more, I think
either we, or glibc, has changed in how allocations are done, so we
don't seem to consume as many mmap areas any more (but, if you do run
into that problem, you know where to look :).
Can ATS make good use of so much RAM (is it 64-bit aware?)
Obviously disk
cache will not help since ATS uses raw devices in my desired
implementation.
Sure, other people are running 48GB machines and dedicating 10s of GB to
RAM cache. ATS is 64-bit and can use as much memory as you can stuff
in the box. it uses about 1.25 GB/TB for the directory and by default
will
use that much for a RAM cache as well, but I would suggest tuning it by
checking the process size as memory usage also depends on the number
of active connections.
Two additional comments on this:
1) You can actually control the directory usage a bit (the directory for
the disk cache that is). Our default allocates one directory entry per
8000 bytes, what that means is, if your average object size is much
bigger (or smaller), you should adjust it. I have an old picture which
shows this relation, the absolute numbers aren't correct (because we
changed things slightly), but you can get the idea of how tuning this
setting will change memory consumption:
http://people.apache.org/~zwoop/bench/yts-mem-minimum.png
2) As a small sales pitch, our memory consumption for the cache is
significantly better than e.g. Squid. Where as we use that 1.25GB / TB
of disk, Squid would use at least 5x as much memory (~7GB / TB or so,
don't quote me on that, I haven't examined Squid in the last 2 years).
The point is, things like these are easy to oversee, and should be as
important as raw performance / throughput when deciding on an intermediary.
Cheers!
-- leif