→ danny8376: MSL是寫死在kernel的 這值除非重新compile不然調不了 10/17 14:33
→ danny8376: 不過可以調整減輕狀況 net.ipv4.tcp_tw_recycle 10/17 14:34
→ danny8376: net.ipv4.tcp_tw_reuse 這兩個設成 1 10/17 14:34
→ danny8376: 看來已經調整了XD 10/17 14:35
→ danny8376: 然後tcp_max_tw_buckets不該調低 10/17 14:39
→ danny8376: 這會讓TIME_WAIT允許數量嚴重不足 10/17 14:39
→ danny8376: 痾... 說錯 tcp_max_tw_buckets 還不夠高 10/17 14:43
→ b60413: 有試著將tcp_max_tw_buckets調整到10000 10/17 15:29
→ b60413: 發現伺服器回應的時間變長了, ab還是無法送完一萬個請求 10/17 15:29
→ b60413: 並且發送成功的請求數量降低了 10/17 15:30
→ danny8376: 不過我自己-c1000都能正常過-n10000了 10/17 16:04
→ danny8376: 不管kernel還是nginx參數都沒調過... 10/17 16:05
→ b60413: 如果是這樣的話, 會跟軟、硬體防火牆有比較大的關係嗎? 10/17 16:10
→ b60413: 已經在網路上查過各式的調整法, 也都實際試過, 一直無解.. 10/17 16:11
→ kenduest: 手上幾台商用 web 提供大量連線對外方式,一般作法 10/17 16:13
→ kenduest: 不是一台撐起全部服務,大多會分散提供大量存取 10/17 16:13
→ kenduest: 有考慮虛擬化技術方式分散嗎?高檔 server 不用這個 10/17 16:13
→ kenduest: 東西其實 cpu 算是相當閒置沒有被大量利用到 10/17 16:14
→ kenduest: 虛擬化之後 os 本身這類網路負荷問題也可以得以舒緩 10/17 16:16
→ b60413: 願意試看看, kenduest可以提供相關簡易的資訊嗎? 謝謝 10/17 16:20
→ kenduest: 你可以網路上爬文一下,目前 linux 都用 kvm 虛擬化技術 10/17 16:22
→ kenduest: ubuntu or rh-based 等 linux 版本網路上都很多資訊 10/17 16:22
→ kenduest: 不過後續你要搭配其他方式來 loading balance 10/17 16:23
→ kenduest: 跑 bridge 網路架構,透過其他硬體平衡負載器分散存取 10/17 16:23
→ kenduest: 或者是 nat 模式你還要搭配 iptables nat 設定功能 10/17 16:24
→ b60413: 目前是希望可以先將單台伺服器設置好, 才會去做附載平衡 10/17 16:24
→ b60413: 原本以為設備比較好的機器, 應該有辦法負載這麼大的請求 10/17 16:24
→ kenduest: 或者是搭配 nginx 的 proxy 方式提供分散到多台虛擬機 10/17 16:25
→ b60413: 所以才希望試看看, 是否可以單純修改設定就達到一定的成果 10/17 16:25
→ kenduest: 這並非是因為你系統的 cpu or memory 多就可以解決問題 10/17 16:25
→ b60413: 目前測試時, 都是使用Virtual Box創建測試機 10/17 16:27
→ b60413: 請問這算是你說的KVM技術嗎? 10/17 16:27
→ kenduest: virtualbox 是一個 vm 實作的軟體,商業的 server 服務 10/17 16:30
→ kenduest: 沒會去用這個提供實際服務,linux kvm 比較可靠 10/17 16:31
→ danny8376: 樓上... 你用iptables nginx都不重要 10/17 17:39
→ danny8376: 現在問題是他的kernel就是吃不下那連線數 10/17 17:39
→ danny8376: 後端分散了 負責分散的前端連線問題還是在啊 10/17 17:40
→ kenduest: 問個問題,有沒有想過是 client 端自己的問題 10/17 18:19
→ kenduest: 若你測試端都是固定一台機器的話,那 client 端也會導致 10/17 18:19
→ kenduest: 因為過多的 TIME_WAIT 會導致無法正常連線存取 10/17 18:21
→ kenduest: 至於平衡負載架構,前端是有所謂瓶頸問題,但是 10/17 18:23
→ kenduest: NAT 那邊是另外一個處理單純自己連線的諭時問題 10/17 18:24
→ kenduest: 分散可以先減低單一台 WEB server 本身 TIME_WAIT 問題 10/17 18:25
→ kenduest: 分散還有其他方式,像是 DNS 分散架構 10/17 18:26
→ kenduest: 所以 dns balance + l4 balancer + multi server 分散 10/17 18:28
→ kenduest: 不過好像與原貼問題已經沒很直接關係了 10/17 18:29
推 newsp: ab 自己要打到那麼高也不是件容易的事 10/20 09:44