すべて3306にTIME_WAIT状態の解

     ちょうど夕食を終え、SMSは、すべてのアラームを開いて、すぐにコンピュータの電源を入れ、鳴りやページの多くは非常に不安定を開くことができます見つけ、開きませんされています

サーバの負荷を表示する様にログインし、CPU、メモリ、負荷IOディスクは高くはないが、nginxのログを表示する第一容疑者は、nginxのPHPのバックエンドプロセスを呼び出して、502エラーの多数を発見

順序の問題。ビジネスに影響を与えないために、私は最初のページは、再起動後に発見されたとき、悪いか良い時間を設定し、プログラムを再起動しようとした、PHPおよびシステムログが報告されていない何が間違っています、

awkの/ ^ TCP / {++ S [$ NF]} END {のために(S)で印刷A、S [A |それは502 ngxinxエラーログ、netstatコマンド-naを使用して、リンクのTCPビューの数ブラシとなっています]}「各種を表示します

状態の数、ハァッ、ハァッ。右に感じる、とTIME_WAIT状態3282を持っているかどのように、そしてその最後に見て幽霊が発見がMySQLを接続している占有するものではありません。

ポートデータベースが、それはプログラムが正常にシャットダウンされていない引き起こすものでなければなりません。リクエストの背中につながる、多くのリソースを占有すると、キューのタイムアウトになっています

 90%がポート3306 TIME_WAITに接続されています。

ああ、カーネルパラメータのチューニングを再度設定ファイルを確認するために、一度行われている前に、何の増加のタイムアウト制限を発見しません、

net.ipv4.tcp_fin_timeout = 30
viのは/ etc / sysctl.confのの
net.ipv4.tcp_syncookies = 1つの
#は、SYNクッキーの上に示しています。SYNキューのオーバーフローが発生した場合、SYN攻撃の少量のを防止することができる、に対処するためにクッキーを有効にし、デフォルトでは、密閉示し、0であり; 
net.ipv4.tcp_tw_reuse = 1つの
#は、再利用に示します。TIMEを可能 - 新しいTCP接続の再利用ソケットをWAIT、デフォルトはゼロで無効にされ、
net.ipv4.tcp_tw_recycle = 1つの。
#は、オープンTCP接続TIME表す - デフォルトはオフを示す、0であり、高速リカバリWAITソケット。
net.ipv4.tcp_fin_timeout = 30 
デフォルトの時間のタイムアウトを変更するには、

 / sbinに/ sysctlを-p

以上の10秒後に、再び接続数を確認するには、もう降りてきます。

 

 再び非常に安定したWebサイトを参照してください。

 

おすすめ

転載: www.cnblogs.com/heruiguo/p/11780402.html