
我有一個帶有 10Gbps 卡的串流媒體伺服器。我正在使用〜2.5gbps。
我的伺服器每天完美運行 8-9 小時,之後就變得瘋狂了,每個人都凍結了。就在同一時間,我重新啟動了系統,一切都恢復正常。
我有監視器連接、頻寬輸出一切。從 2.5 gbps,8-9 小時後,它變成 1gbps,這就是為什麼每個人都凍結的原因,但重新啟動後一切恢復正常。
有人對此有任何解釋嗎?
這是我的 sysctl 配置
net.core.somaxconn = 65535
net.ipv4.route.flush=1
net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_moderate_rcvbuf = 1
fs.file-max = 6815744
fs.aio-max-nr = 6815744
fs.nr_open = 6815744
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_rmem = 10000000 10000000 10000000
net.ipv4.tcp_wmem = 10000000 10000000 10000000
net.ipv4.tcp_mem = 10000000 10000000 10000000
net.core.rmem_max = 524287
net.core.wmem_max = 524287
net.core.rmem_default = 524287
net.core.wmem_default = 524287
net.core.optmem_max = 524287
net.core.netdev_max_backlog = 300000
net.ipv4.tcp_max_syn_backlog = 300000
vm.swappiness=1
net.netfilter.nf_conntrack_max=196608
net.ipv4.tcp_window_scaling = 1
vm.max_map_count = 655300
net.ipv4.tcp_max_tw_buckets = 1440000
串流是使用 PHP-FPM 和 nginx 完成的。
我使用的是帶有庫存內核的 ubuntu 14.04 64 位元。我嘗試了內核4.8,結果相同。
答案1
向我們扔一堆配置選項和一些有關您系統的隨機數據根本沒有用。
你需要運用科學的方法。
- 安裝監控
- 收集資料
- 使用數據幫助理解系統
- 根據您在上面學到的知識進行更改
- 監控變化
- 重複分析並根據需要進行更改
- 文件變更
這不是火箭工程,甚至不是替代事實。您所需要的只是簡單的應用系統管理原則。
答案2
你的貼文有點令人困惑。
之後就瘋了
意味著活動增加,但你說......
每個人都凍僵了
……但是你反駁了「每個人」都受到影響的說法
從 2.5 gbps,8-9 小時後變為 1gbps
如果您仍然發送 1Gbps,那麼顯然某些客戶端不會受到影響。您也聲明:
串流是使用 PHP-FPM 和 nginx 完成的
……在這種情況下是不是串流。 HTTP 和 fastCGI 不是串流協定。
根據您提供的信息,我們無法判斷您的伺服器的ios有什麼問題,但是可能原因是 nfconntrack 表已滿。
net.netfilter.nf_conntrack_max=196608
使用了多少個桶子?
您的伺服器也可能位於行為不當的路由器後方/未收到壅塞通知。