ホームページ  >  記事  >  バックエンド開発  >  WEBのよくある不具合と解決策

WEBのよくある不具合と解決策

WBOY
WBOYオリジナル
2016-06-20 12:27:121355ブラウズ

1. アプリケーション障害

HTTP 502 障害

502 不正なゲートウェイ

障害検出:

まずフロントを見つけますサーバー ノードに障害が発生した場合、フロントエンド サーバー上のバックエンド サービス ポート (Telnet) にアクセスするときの応答時間。応答タイムアウトが 10 秒を超えることが判明した場合。説明: バックエンドアプリケーションが失敗しました。バックエンドサーバーをチェックして状況を確認する必要があります。

PS: HTTP 502 Bad Gateway の障害は、一般的に次の 2 つの状況に分けられます:

ネットワークの問題: フロントエンドがバックエンド サービスに接続できず、ネットワークが 100% パケットを損失します。

バックエンド サービスの問題: バックエンド サービス プロセスがダウンしています。たとえば、nginx および php プロセスがハングアップします。

HTTP 503

503 サービスが一時的に利用できません

障害検出:

まず、フロントエンドで障害のあるサーバー ノードを見つけます。フロントエンド サーバー バックエンド サーバーに ping を実行して、ネットワーク遅延パケット損失とバックエンド サービス ポートの応答時間を確認します。遅延が 100ms を超える場合、パケット損失は 5% を超えます。これは、フロントエンドからバックエンドへのネットワークに問題があることを意味します。

PS: HTTP 503 サービスが一時的に利用できないエラーは、通常、バックエンド ネットワークへのフロントエンド アクセスの遅延が原因で発生します。最初の選択肢は、バックエンド トラフィックが過負荷になっているかどうかを確認することです。そうでない場合は、フロントエンドからバックエンドへのネットワークの問題です。

HTTP 504

504 ゲートウェイ タイムアウト

障害検出:

バックエンド サーバー Nginx php mysql のリソース使用量を確認し、関連するエラーを確認しますログ。

PS: このタイプの障害が発生する可能性は比較的低く、通常、HTTP 504 ゲートウェイ タイムアウト障害はバックエンド サーバーの応答タイムアウトによって引き起こされます。 PHP プログラムの実行時間が長すぎると、データベース クエリがタイムアウトになります。 PHP の実行タイムアウトを増やす必要があるかどうかをプログラムと通信します。

2. 攻撃障害

DDOS 攻撃

障害検出:

ネットワーク カード トラフィック、ネットワーク遅延/パケット損失、パケット数/を表示および監視します。 ■

#iptraf -d eth0 ネットワーク トラフィックとデータ パケット/秒をチェックすると、受信トラフィックとデータ パケットの数が非常に多いのに対し、送信トラフィックとデータ パケットは非常に小さいことがわかります。以下に示すように:

PS: DDOS 攻撃の失敗は、通常、比較的大きな受信トラフィックと小さな送信トラフィックによって引き起こされます。受信したネットワーク データ パケットの数は比較的多く、送信したデータ パケットの数は比較的少なく、ネットワーク遅延が大きく、パケット損失が発生します。

CC 攻撃障害

障害検出: 監視ネットワーク カード トラフィック、Nginx 接続ステータス、CPU 負荷を表示

PS: CC 攻撃障害、通常はアウトトラフィックは比較的多く、受信トラフィックは少ないです。 Nginx 接続の数が急増しています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。