On 21/11/2011 1:33 a.m., benjamin fernandis wrote:
Hi All,
I configured squid box to get good cache performance and for that i
set cache_mem and object size in cache.
cat /etc/squid/squid.conf | grep cache_mem
cache_mem 6144 MB
cat /etc/squid/squid.conf | grep -i maximum_object_size_in_memory
maximum_object_size_in_memory 1 MB
And whenever i check memory usage at OS level while squid is serving
to traffic. it shows me
free -mto
total used free shared buffers cached
Mem: 7995 345 7650 0 30 78
Swap: 8999 0 8999
Total: 16995 345 16650
So as per my squid setup i set 6GB , So why free -mto showing me that
only 345 mb is used and 7650 mb is free.
As per my understanding , if i assign 6GB RAM to squid then 6GB will
be deducted from my actual memory and then OS has that remaining
amount of memory.
My perception is right ?
Yes your understanding is generally correct.
There is one circumstance I can think of when the OS might show lower
than cache_mem usage. That is when memory pooling control has been
disabled when building Squid. In that case Squid will not pre-allocate
any memory for use.
What is the purpose of --enable-async-io option in squid?
To enable Asynchrnous I/O (AIO) for threaded read/write to disks. This
is required for AUFS.
i read on internet that it enable more performance while using more
thread with that option
Yes. Up to the amount of AIO threads your disk controller can work with
efficiently. There is a point at which the threads become too many for
the controller and things get slow again. I'm not personally aware what
that upper limit is.
is it correct information which i have ?
My squid version is Squid Cache: Version 3.1.15
i used squid rpm which i have from my fedora 15 64 bit os in that i
can't have that option is enabled
so this option is really useful for better performance in high network traffic ?
See above. Only if you are disk caching using AUFS.
Amos