今天看到一个老外的帖子,关于WEB反向缓存性能调整
他的环境有1台后端,平均处理能力是10ms/req,三台缓存,负载大概为4000reqs/s。
1、使用varnish的trunk版本;
2、调整linux内核参数:
net.ipv4.ip_local_port_range = 1024 65536
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
net.ipv4.tcp_fin_timeout = 3
net.ipv4.tcp_tw_recycle = 1
net.core.netdev_max_backlog = 30000
net.ipv4.tcp_no_metrics_save=1
net.core.somaxconn = 262144
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_max_orphans = 262144
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
3、在varnish上使用malloc的方式,不使用缓存文件方式,-s malloc,30G,需要一个很大的swap分区,这是因为老外发现新的linux内核"更喜欢"把映射到内存的缓存文件回写到磁盘上,这样IO就吃紧了。
4、网站上新的热门内容之前先"预热"缓存:自己请求一下,让缓存里有这个内容,然后再把链接发布到网站页面上。

订阅我的BLOG(RSS)