この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 12915|答える: 0

[ウェブマスターからのコミュニケーション] Alibaba Cloud SLBロードバランシングを使ってphp-fpmのCPU使用率が90%を超える問題を解決する方法

[リンクをコピー]
掲載地 2015/05/08 20:22:09 | | | |
メーデー休暇中にサービスチームはイータオバンウェブサイトのサーバー環境をPHP5.3からPHP5.6にアップグレードし、成功裏にサーバーCPUは90%以上に膨らみ、その水準は高水準を維持しています。 サーバーを確認すると、複数のPHP-FPMプロセスがCPU負荷を高くしすぎて、通常にアクセスできなくなっていることがわかりました。 サーバー環境やPHPバージョンを何度も再インストールし、PHPをHHVMに変更しても、高いCPU負荷の問題は解決できません。


E-Taobangサーバー運用プロセス(サービスアーキテクチャ図):ユーザークライアント→Baiduクラウドアクセラレーションノード(CDN/キャッシュ/アンチDDOS/CC攻撃)→→アリババクラウドシールドノード(アンチCC/DDOS/WAF)→ECSソースサーバー(CSS、JS、CDN転送用のイメージ)のドメイン名解決、アリババクラウドクラウドシールドには攻撃情報がないため、攻撃とは完全に除外できます。

nginxログ、php-fpmログ、遅いログを見ると異常な要素はなく、netstat -nコマンドから複数のTIME_WAIT情報が見られます。これは100.97.x.xのIPセグメント(最後のIPセグメントはAlibaba Cloud SLBリスニングサービスのIPアドレス)によって引き起こされます。


それでは早速、具体的な解決策について話しましょう。最終的には逸涛幫(Vステーションパワー)の専門の運用保守チームが担当し、結果としてSLBのサービス監視設定によるCPU負荷が高すぎました。
元のSLBサービスはHTTPプロトコルポート80を受信しており、httpプロトコルのヘルスチェックは複数のヘッドから定期的にHTTPリクエストを送信するため、HTTPへの連続的なアクセスが発生します。これによりphp-fpmが発生し、CPU負荷が長期間90%を超え、特定のCPU負荷使用量はECSの設定に依存します。 ヘルスチェックサービスを変更すると、CPU使用率がオフラインになります。

同様の状況が発生した場合は、SLBサービスのリスニングのヘルスチェック設定をHTTPプロトコル80からTCPプロトコル80に変更してください。






先の:MicrosoftはIEを放棄し、22万行のコードを作ろうと決意しました
次に:地球外の力がサーバーを奪う
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com