顯示廣告
隱藏 ✕
※ 本文為 dinos 轉寄自 ptt.cc 更新時間: 2014-10-17 12:10:09
看板 PHP
作者 b60413 (None)
標題 Fw: [問題] Ningx High Concurrent求解
時間 Fri Oct 17 10:58:52 2014


※ [本文轉錄自 Linux 看板 #1KG8Mwbz ]

看板 Linux
作者 b60413 (None)
標題 [問題] Ningx High Concurrent求解
時間 Fri Oct 17 10:57:58 2014


手邊有一台Server, 設備大概是16G, 16 Core CPU,
打算拿來建置一台Backend Web Server(只跑PHP),
套件部分使用Nginx(0.8.6)、PHP-fpm,

希望可以達到每秒鐘併發數在200~500之間,
實際架設後並使用ApacheBench測試(-n10000 -c200)的結果是,
只要當系統的TIME_WAIT達到6000(net.ipv4.tcp_max_tw_buckets)之後,
伺服器的反應開始下降(使用tshark觀察), 並且就卡住了,
最後ab會發出apr_socket_recv: Connection timed out (110)的訊息,
尤其反覆測試後, 在先前的TIME_WAIT釋放之前, Server都會處於非常慢的狀況,
請問有哪些細節是沒有注意到還可以持續優化的嗎?
還是這台機器的等級, 沒有辦法處理這麼高併發的數量?

中間, 有使用ss去觀察TIME_WAIT的timer倒數,
發現每次都是從60秒開始倒數,
請問有辦法降低這個數值嗎?
或者讓Nginx的連接在client關閉後,
直接將該資源回收掉嗎?

目前一直著眼在TIME_WAIT的問題,
是否我思考的方向有錯?

還請有經驗的指點迷津,
感謝.

kernel參數調整如下,
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_mem = 786432 10485760 15728640
net.ipv4.tcp_wmem = 4096 10485760 20971520
net.core.wmem_max = 20971520
net.ipv4.tcp_rmem = 4096 10485760 20971520
net.core.rmem_max = 20971520

/etc/limits.conf調整如下,
* soft nofile 65535
* hard nofile 65535

Ningx的主要相關設定如下,
worker_processes 8;
worker_rlimit_nofile 65535;

events {
  use epoll;
  worker_connections 51200;
}

PHP-fpm的主要相關設定如下,
backlog = 8192
max_children = 256(static)
rlimit_files = 65535

--
http://www.myspace.com/soundtrack0220

--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.126.4.12
※ 文章網址: http://www.ptt.cc/bbs/Linux/M.1413514682.A.97D.html

※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: b60413 (140.126.4.12), 10/17/2014 10:58:52
Jerr: 先看看是不是 ram 吃完了, 然後試試看 max_requests = 161F 10/17 11:03

--
※ 看板: dinos 文章推薦值: 0 目前人氣: 0 累積人氣: 173 
分享網址: 複製 已複製
guest
x)推文 r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇