> Hardware (only running Squid):
>
> # cat /proc/cpuinfo | egrep -i xeon | uniq
> model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
> # cat /proc/cpuinfo | egrep -i xeon | wc -l
> 8
>
> # free -m
> total used free shared buffers cached
> Mem: 32148 2238 29910 0 244 823
> -/+ buffers/cache: 1169 30978
> Swap: 15264 0 15264
>
> # lsscsi
> [0:0:0:0] disk MAXTOR ATLAS15K2_73WLS JNZH /dev/sda
> [0:0:1:0] disk SEAGATE ST3300655LW 0003 /dev/sdb
> [0:0:4:0] disk SEAGATE ST3146807LC 0007 /dev/sdc
> [3:0:0:0] disk SEAGATE ST3300655SS 0004 /dev/sdd
> [3:0:1:0] disk SEAGATE ST3300655SS 0004 /dev/sde
>
> # fdisk -l | grep GB
> Disk /dev/sda: 73.5 GB, 73557090304 bytes
> Disk /dev/sdb: 300.0 GB, 300000000000 bytes
> Disk /dev/sdc: 146.8 GB, 146815737856 bytes
> Disk /dev/sdd: 300.0 GB, 300000000000 bytes
> Disk /dev/sde: 300.0 GB, 300000000000 bytes
>
> # lspci | grep -Ei 'sas|scsi'
> 04:00.0 SCSI storage controller: LSI Logic / Symbios Logic SAS1064ET
> PCI-Express Fusion-MPT SAS (rev 04)
> 06:02.0 SCSI storage controller: Adaptec ASC-29320LP U320 (rev 03)
>
>
> # uname -srm
> Linux 2.6.27.7 x86_64
>
> Squid:
>
> # squid -v
> Squid Cache: Version 3.0.STABLE13
> configure options: '--bindir=/usr/bin' '--sbindir=/usr/sbin'
> '--libexecdir=/usr/libexec' '--datadir=/usr/share/squid'
> '--sysconfdir=/etc/squid' '--libdir=/usr/lib' '--includedir=/usr/include'
> '--mandir=/usr/man' '--localstatedir=/var' '--enable-async-io'
> '--with-pthreads' '--enable-xmalloc-statistics' '--enable-storeio=aufs'
> '--enable-removal-policies' '--enable-err-languages=English Portuguese'
> '--enable-linux-netfilter' '--disable-wccp' '--disable-wccpv2'
> '--disable-ident-lookups' '--enable-snmp' '--enable-kill-parent-hack'
> '--enable-delay-pools' '--enable-follow-x-forwarded-for'
> '--with-large-files' '--with-filedescriptors=65536' 'CFLAGS=
> -march=native'
> 'CXXFLAGS= -march=native'
>
> # cat /etc/squid/squid.conf | grep -E cache_'mem|dir'\
> cache_mem 8192 MB
> cache_dir aufs /var/cache/proxy/cache1 102400 16 256
> cache_dir aufs /var/cache/proxy/cache2 102400 16 256
> cache_dir aufs /var/cache/proxy/cache3 102400 16 256
> cache_dir aufs /var/cache/proxy/cache4 102400 16 256
> cache_dir aufs /var/cache/proxy/cache5 102400 16 256
> cache_dir aufs /var/cache/proxy/cache6 102400 16 256
> cache_dir aufs /var/cache/proxy/cache7 102400 16 256
> cache_dir aufs /var/cache/proxy/cache8 102400 16 256
>
>
> # cat /etc/fstab | grep proxy
> /dev/vg00/cache /var/cache/proxy ext3 defaults 1 2
>
>
> Yes, I know, LVM, ext3 and aufs are bad ideas... I'm particularly
> interested in a better cache_dir configuration (maximizing disk's usage)
> and the correct cache_mem parameter to this hardware. (and others
> possible/useful tips)
You have 5 physical disks by the looks of it. Best usage of those is to
split the cache_dir one per disk (sharing a disk leads to seek clashes).
I'm not to up on the L1/L2 efficiencies, but "64 256" or higher L1 seems
to be better for larger dir sizes.
For a quad or higher CPU machine, you may do well to have multiple Squid
running (one per 2 CPUs or so). One squid doing the caching on the 300GB
drives and one on the smaller ~100 GB drives (to get around a small bug
where mismatched AUFS dirs cause starvation in small dir), peered together
with no-proxy option to share info without duplicating cache.
Absolutely minimal swapping of memory.
Amos
Received on Tue Mar 17 2009 - 00:58:20 MDT
This archive was generated by hypermail 2.2.0 : Tue Mar 17 2009 - 12:00:03 MDT