On 22/07/2013 6:08 a.m., Golden Shadow wrote:
Dear Squid Users,
I found the following squid configure options online, but I did not find enough information about them. What do they mean? Is it better to build my squid with these options?
--disable-poll --enable-epoll , I know this would disable poll and enable epoll, which both wait for some event on a file descriptor, but is it useful to disable poll and enable epoll with squid?
Not really.
--enable-async-io=64
--with-aufs-threads=64 , I think this option is implicitly included in the previous one. How many aufs threads should I use? I read it is related to the number of cache directories, would you please explain how it is related?
The above means each AUFS cache_dir is allocated 64 threads for I/O. The
number of threads determines how many parallel operations
(read/write/create/delete) Squid can perform on any one AUFS cache
storage area. It is bounded by the physical disk I/O bandwidth and
controller abilities; too many and the disk I/O controller can't keep
up, too few and Squid gets blocked waiting on threads to become
available. You probably want to have a good read of your disks I/O
specifications to see what the controller can handle before tuning this.
Is 64 a good value knowing that I configured squid with the following cache_dirs:
cache_dir aufs /mnt/cachedrive2 1426227 128 512
cache_dir aufs /mnt/cachedrive3 1426227 128 512
cache_dir aufs /mnt/cachedrive4 1426227 128 512
cache_dir aufs /mnt/cachedrive5 427008 128 256
With TB sized drives you would get far more benefit by setting the AUFS
cache_dir min-size parameter and using a rock cache_dir on each drive as
well for small objects.
Squid has a fixed 2^24 count of objects per cache_dir. To fill those
1.4TB caches you need an average object size of 90KB stored there or it
will reach that count limit before filling up.
Amos