Linux

用於高性能、大型活動的 Sysctl 配置

  • February 22, 2015

我們有一些伺服器有大量的訪問者(每一分鐘,每一天)。基本上,我們為此目的有一個很好的微調 sysctl 配置。(如果你不修改它,它就會開始表現得很奇怪)。

我想問問社區你是否可以為我提供一個……嗯……為此目的而優化的。比如最大化打開文件限制等等。我正是這個意思。

定義大型活動?大量文件打開?正在傳輸大文件?很多慢客戶?這是從一台執行 nginx 的機器上取下的,該機器在 Quad Core 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/

引用自:https://serverfault.com/questions/157027