我们有一些服务器有大量访问者(每分钟、每天)。基本上,我们为此目的有一个经过精心调整的 sysctl 配置。(如果您不修改它,它就会开始表现得很奇怪)。
我想问问社区,你们能否为我提供一个针对此目的而优化的方法。比如最大化打开文件限制等等。这就是我的意思。
答案1
定义大型活动?打开大量文件?传输大型文件?大量慢速客户端?这是从运行 nginx 的机器上获取的,该机器在四核 Xeon 2.4 上以 900+mb/sec 的速度提供 120k 或更小的图像。执行流式传输内容的服务器上的设置大不相同。每台机器的配置根据要求而不同。盲目实施这些可能会使您的性能更好或更差。
fs/file-max=60000
fs/dir-notify-enable=0
net/ipv4/tcp_keepalive_time=600
net/core/rmem_max=262143
net/core/rmem_default=262143
net/core/wmem_max=262143
net/core/wmem_default=262143
net/ipv4/tcp_sack=0
net/ipv4/tcp_timestamps=0
net/nf_conntrack_max=262143
net/ipv4/tcp_frto=0
net.ipv4.tcp_sack=1
net.ipv4.tcp_timestamps=1
net.ipv4.tcp_wmem = 4096 65536 4194304
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_tw_recycle = 1
net.core.wmem_max = 16777216
net.core.rmem_max = 16777216
net.core.wmem_default = 16777216
net.core.rmem_default = 16777216
net.core.netdev_max_backlog = 262144
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
虽然此页面上的信息有些旧,但其中大部分仍然适用:
http://www.acc.umu.se/~maswan/linux-netperf.txt www.ibm.com/developerworks/linux/library/l-hisock.html slaptijack.com/system-administration/linux-tcp-performance-tuning/