PHP Webサイトのトップページが開けない原因についてお話します

WBOY
リリース: 2016-06-13 12:28:39
オリジナル
1014 人が閲覧しました

PHP ウェブサイトのトップページが開けない原因についてお話します

最近、Web サイトのトップページが開けなくなり、写真のように 504 エラーが直接返されることがあります。 nginxによる。


今日の午後 16:00 頃に再度表示されました。Alibaba Cloud データベースの接続を確認しましたが、実は夕方 2:00 にも一度表示されていました。この画像は、問題が解決され、データベース接続要求の数が減少した後に取得されたものです。



データベースサーバーには同時に複数のライブラリがあるため、データベースに大きな負荷がかかっているようです。他のシステムがデータベースをダウンさせているのか、それとも現在のシステムが原因なのかを判断するものではありません。


ステートメントを使用してデータベース内のセッション数をクエリします

SQLSERVER 現在の接続数を表示します
Select * from sys.dm_exec_connections - -このコマンドは、接続されているユーザーの数を確認できます
Select * from sys.dm_exec_sessions --このコマンドは、接続に複数のセッションが存在する可能性があります


この図から、以前 504 を報告した Web サイトはデータベースへのリクエストが多いことが大まかに判断できます。


特定のアプリケーションを見つけたら、対応するサーバーに移動してさらに確認できます

最初に CPU を確認するのが通常です



再度 PHP-FPM プロセス数を確認してください


下通常の状況では、php プロセスは 10 程度しかありません。これほど多くの突然の増加は、明らかに外部からのリクエストがたくさんあることを示しています。


しかし、プロセスの終了を妨げる例外が php にあるかどうかを判断するために、すべてのプロセスを終了し、php-fpm を再起動しました。

すぐに多くのプロセスが表示されることが判明したので、次の結論を導き出すことができます: これは、nginx が 504 を報告する理由は、外部リクエストが継続的であり、データベースが大きな圧力がかかり、リクエストを受信できないため、nginx は 504 を報告します。


次に、この時点で nginx ログの最後の 500 個のデータを確認します。

#tail -n 500 /usr/local/nginx /logs/access .log >>500_20160218-1712.txt


ログから、スパイダーがBaidu と Sogou は常にクロールしているため、比較的安定しており、Web サイトのトラフィックが急激に増加することはありません。また、Baidu は Web サイトがクロールされないようにアクセス頻度を制御すると言われています。 。

以下のログを見ると、この期間に Sogou を巡回するスパイダーの数が非常に多かったことがわかりました。スパイダーはクラスターを使用して巡回しているため、IP をブロックするだけで済みます。 nginx のリクエストヘッダー。

server {	listen       80;	root        /www/;	index  index.php;	#禁止特定爬虫的抓取	if ($http_user_agent ~* "Sogou web spider") {	 return 403;	}
ログイン後にコピー

次に、php プロセスを再度終了し、php プロセスを開始すると、プロセス全体が非常に安定しており、10

で維持されていることがわかります。

これは、Sogou が行ったことを示しています。最も緊急なことは、Sogou に多くのユーザー グループを持たせないようにすることです。このことから、非常に重要な結論が得られます。Web サイトが安定しているからといって、キャッシュの使用をやめないでください。Web サイトはいつでもこのような突然のトラフィックに遭遇する可能性があります。


Sogou をブロックする前:

Sogou をブロックした後:



以下は、nginx ログから分析されたさまざまなスパイダーによって分析された Web サイトのクローリング データの上位ランキングです。実際、Google やその他のあまり有用ではないスパイダーがブロックされています。


ソゴウが 1 日でかなり怖がっていることがわかります。

1階SugaryoTT昨日19時19分
作者にいいね〜初心者から〜 ちなみに!
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!