
10Gbps カードを搭載したストリーミング サーバーがあります。約 2.5Gbps を使用しています。
私のサーバーは 1 日 8 ~ 9 時間は完璧に稼働していますが、それ以降は調子がおかしくなり、すべてがフリーズしてしまいます。同時にシステムを再起動すると、すべて正常に戻ります。
モニター接続、帯域幅出力すべてがあります。2.5 Gbps から、8 ~ 9 時間後に 1 Gbps に低下します。これがすべてのフリーズの原因ですが、再起動するとすべて正常に戻ります。
これについて何か説明できる人はいますか?
これは私の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.5Gbpsから8~9時間後には1Gbpsになります
まだ 1Gbps を送信している場合、明らかに一部のクライアントは影響を受けません。また、次のようにも述べています。
ストリーミングはPHP-FPMとnginxを使用して行われています
...その場合、ないストリーミング。HTTP および fastCGI はストリーミング プロトコルではありません。
あなたが提供した情報に基づいて、あなたのサーバーの何が問題なのかはわかりませんが、おそらく原因は、nfconntrack テーブルがいっぱいであることです。
ネット.netfilter.nf_conntrack_max=196608
使用されているバケットの数はいくつですか?
また、サーバーが動作不良のルーターの背後にあるか、輻輳通知を受信していない可能性もあります。