1、squid版本选择,目前性能最好的还是squid2.6。通过squidclient -p 80 -h www.youku.com mgr:info查看优酷用的也是squid2.6版本,非常稳定,而cctv用的是squid3.0性能不好,且cctv每天凌晨5点多重启squid。所以我们选用squid2.6版本。
2、既然是商用,性能一定要好,除去必要的优化,我们在单机上跑多个squid,网上关于单机跑多squid的文章很多,把请求均匀的分发到多squid的方法,暂时可以自己定义iptables函数,根据目的ip或者ip网段hash分发到多个squid上。
3、磁盘策略。磁盘我们用多个独立的磁盘,不做raid,性能最好。
4、优化squid的socket建立过程,在2个至强5405cpu,每个4核,8G内存情况下,可以达到每秒新建15000,并发30万session,满足了商用的性能要求。
squid 编译参数如下:
./configure --prefix=/usr/local/squid --with-maxfd=163840 --enable-gnuregex --enable-arp-acl --enable-auth=basic,digest --enable-basic-auth-helpers=NCSA,LDAP --enable-digest-auth-modules=password --enable-async-io=256 --enable-storeio=aufs,ufs,null,diskd --with-aufs-threads=256 --enable-icmp --enable-kill-parent-hack --enable-snmp --with-pthreads --disable-ident-lookups --enable-cache-digests --enable-ssl --enable-delay-pools --enable-epoll --enable-linux-netfilter --enable-linux-tproxy --enable-underscore --enable-carp --enable-wccp --enable-htcp --enable-err-language=English --enable-icap-client --enable-http-violations