1. 程式人生 > >高負載web伺服器linux核心引數調整

高負載web伺服器linux核心引數調整

參考:http://blog.csdn.net/lizhitao/article/details/9323137

Linux系統中sysctl引數優化(TCP高階選項設定)

伺服器在高併發時,會建立大量連線,這就需要設定TCP相關引數來提供伺服器效能。

1.檔案描述符最大數調整。

   修改 vi /etc/security/limits.conf 值

      在裡面新增一行

      * - nofile 65535
    儲存重啟,再用命令ulimit -n 可發現檔案描述符由預設變成65535

2.高負載linux伺服器的核心調優
vi /etc/sysctl.conf,修改核心引數:
kernel.shmall = 268435456
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.ip_local_port_range = 5000 65000
net.ipv4.tcp_mem = 786432 1048576 1572864
net.core.wmem_max = 873200
net.core.rmem_max = 873200
net.ipv4.tcp_wmem = 8192 436600 873200
net.ipv4.tcp_rmem = 32768 436600 873200
net.core.somaxconn = 256
net.core.netdev_max_backlog = 1000
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_retries2 = 5
net.ipv4.tcp_keepalive_time = 500
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 3
net.ipv4.conf.lo.arp_ignore = 0
net.ipv4.conf.lo.arp_announce = 0
net.ipv4.conf.all.arp_ignore = 0
net.ipv4.conf.all.arp_announce = 0

3.引數說明:
net.ipv4.tcp_syncookies = 1
#表示開啟SYN Cookies。當出現SYN等待佇列溢位時,啟用cookies來處理,可防範少量SYN攻擊,預設為0,表示關閉;
net.ipv4.tcp_tw_reuse = 1
#表示開啟重用。允許將TIME-WAIT sockets重新用於新的TCP連線,預設為0,表示關閉;
net.ipv4.tcp_tw_recycle = 1
#表示開啟TCP連線中TIME-WAIT sockets的快速回收,預設為0,表示關閉。
net.ipv4.tcp_fin_timeout = 30
#表示如果套接字由本端要求關閉,這個引數決定了它保持在FIN-WAIT-2狀態的時間。


net.ipv4.tcp_keepalive_time = 1200 
#表示當keepalive起用的時候,TCP傳送keepalive訊息的頻度。預設是2小時,改為20分鐘。
net.ipv4.ip_local_port_range = 1024    65000 
#表示用於向外連線的埠範圍。預設情況下很小:3276861000,改為102465000
net.ipv4.tcp_max_tw_buckets = 5000
#表示系統同時保持TIME_WAIT套接字的最大數量,如果超過這個數字,
#TIME_WAIT套接字將立刻被清除並列印警告資訊。預設為180000,改為5000

後續會分享一下pic server中間層伺服器如何設計的,其

100-200KB設定縮圖尺寸100*75,實時壓縮(計算)如何達到單臺機器1000左右/QPS

硬體伺服器配置:戴爾PowerEdge R710 八核16執行緒     Xeon E5620 2.4GHz