GNU/Linux >> Linux の 問題 >  >> Linux

LiteSpeedWebサーバーの「すべてのリスナーを再開する」回避策

LiteSpeedWebサーバーを使用しています。 LiteSpeedCacheWordPressプラグインと一緒に使用するとうまく機能します。ただし、error.logに「ResumeAllListeners」通知メッセージが表示されることがあります。


2019-10-22 14:11:09.999551 [NOTICE] [3490] Resume All Listeners
2019-10-22 14:11:10.493639 [NOTICE] [3490] Resume All Listeners

エラーログからの統計を次に示します。


# grep -c "Resume All Listeners" error.log.2019_10_22
21086
# grep -c "Resume All Listeners" error.log.2019_10_21
483
# grep -c "Resume All Listeners" error.log.2019_10_22.01 
157314

グーグルで簡単に検索したところ、LiteSpeedWikiページにたどり着きました。ページの要点は次のとおりです。

  • この通知は、「最大接続数」の制限に達すると表示され始めます。
  • 発生し始めると、サーバーは断続的にいくつかのリクエストを処理しません。したがって、監視スクリプトをいくつか用意しない限り、この問題についてまったく知ることはできません。
  • この問題を修正する方法はありません。問題は拡大し続け、徐々にすべてのサイトがダウンします。
  • この問題を解決する唯一の方法は、サーバーを再起動することです。

LiteSpeedWebサーバー用に次の設定を保持しています。

LiteSpeedWebサーバーのチューニング接続設定

これらは非常に多い数であり、私のWebサイトのトラフィックはこの制限を超えるほどではありません。それでも、error.logファイルに「ResumeAllListeners」という通知メッセージが表示されることがあります。

すべてのリスナーの再開エラーのインジケーター

  1. トラフィックの削減 :Google Analyticsを使用して、自分のWebサイトのトラフィックを追跡しました。このエラーが発生し始めるたびに、約20%の低下が見られました。
  2. ウェブサイト監視サービス :Uptime Robotを使用して、Webサイトのダウンタイムを監視しています。 Webサイトのダウンタイムに関するメッセージが断続的に表示されるが、確認してすべてが正常である場合は、これが原因である可能性があります。
  3. ウェブサイトが時々読み込まれない :すべてが正常で、突然Webサイトが読み込まれず、更新したとき、または数分で問題が解決した場合は、このエラーが原因である可能性があります。
  4. 読者の手を差し伸べる :JournalDevは人気のあるWebサイトであり、ユーザーからWebサイトが読み込まれていないというメッセージを何度も受け取ります。サーバーのエラーログをすばやくチェックして、リスナーのエラーが原因で一部のユーザーにランダムに発生していないかどうかを確認することをお勧めします。

すべてのリスナーの再開エラーの修正

唯一の解決策はサーバーを再起動することです。サーバーを常に手動でチェックすることはできません。そのため、error.logファイルの「ResumeAll Listeners」をチェックし、特定のしきい値を超えた場合はサーバーを再起動する簡単なシェルスクリプトを作成しました。

サーバーを再起動するたびに新しいerror.logファイルが作成されるため、以前のエラーメッセージについて心配する必要はありません。

これが私のために働くシェルスクリプトです。

lsws_restarts_script.sh


#!/bin/bash

result=`/usr/bin/grep -c "Resume All Listeners" /usr/local/lsws/logs/error.log`
date_time=`date`

echo $date_time $result >> /root/scripts/lsws_restarts_script_logs.log 

if [ $result -gt 100 ]
then
	echo $date_time "Restarting LSWS Server" >> /root/scripts/lsws_restarts_script_restart_logs.log
	restart_msg=`/usr/local/lsws/bin/lswsctrl restart`
	sleep 5
	echo $date_time $restart_msg >> /root/scripts/lsws_restarts_script_restart_logs.log
else
	echo "All Seems Good" >> /root/scripts/lsws_restarts_script_logs.log
fi

crontabコマンドを使用して2分ごとに実行するように設定しました。


*/2 * * * * /root/scripts/lsws_restarts_script.sh > /dev/null

:スクリプトは私のUbuntuサーバーで正常に動作します。他のOSを使用している場合は、動作させるために若干の変更が必要になる場合があります。

結論

今では、接続が枯渇したためにLiteSpeedが応答しないことを心配していません。スクリプトは、サーバーを再起動するために必要な手順を実行します。スクリプトが役に立った場合は、他の人にも共有してください。


Linux
  1. LiteSpeedWebサーバーにWordPressをインストールする

  2. MSSQLServerのログ配布を構成する

  3. Vhostsの基本

  1. HTTP応答ステータスコード

  2. MSSQLServerエージェントのログを確認する

  3. Plesk でウェブサーバーのログを表示する方法

  1. ApacheWebサーバーを構成する方法

  2. ApacheWebサーバーにアクセスする上位10個のIPアドレスを検索する

  3. ApacheWebサーバーのキープアライブのチューニング