ホームページ >バックエンド開発 >PHPチュートリアル >サーバー正式環境パフォーマンステスト nginx-php パフォーマンス向上のブレークスルーについてのヒントを教えてください。

サーバー正式環境パフォーマンステスト nginx-php パフォーマンス向上のブレークスルーについてのヒントを教えてください。

WBOY
WBOYオリジナル
2016-06-23 13:51:031045ブラウズ

私は三線都市にいるからです。これ以上素晴らしい会社や環境はありません。以下は私が何度か触って改善の余地を探して構築したものです。また、会社のニーズを満たすことができるウェブサイトの動作環境を構築できることを願っています。私側のボトルネックのために会社の進歩を妨げることはできません。よろしくお願いします。

1. Alibaba Cloud サーバーの ECS 構成は次のとおりです 4 コア 8G メモリ 10M 帯域幅

2.php 実行環境

Tengine-2.0.3 +php-fpm*4

1 つの nginx メインプロセスと 1 つのサーバーメインステーション

5 つの php-fpm プロセス (4 つのロード バランシングと 1 つのバックアップ)

3. プログラムの最適化

js/css 圧縮サーフェス キャッシュ機能が実装されており、この機能を有効にするために正式に実行できます

最初のリクエスト ページ 2 css 4 -5 2 つの js はページと同期的にリクエストする必要があり、他の js は基本的に非同期でロードされ、再度リクエストされます 304 または 200 フォーム キャッシュ処理 public js Basic 200 formcache /304
ページの静的キャッシュは完了しており、状況に応じてオンにすることができます状況


4. テスト結果

サーバー同時実行ストレス テストの同時実行 100 が 200 に合格し、少数の 404 エラーが発生しました。ストレス テスト環境では、Seeion を取得できませんでした。これにより、都市は地域キャッシュを取得できなくなりました。を取得できず、80% が無効なデータ クエリになりました。

署名テストの結果は次のとおりです:
トランザクション: 15000 ヒットのリクエスト量
可用性: 100.00 % 成功率
経過時間: 206.74 秒 転送されたデータ: 67.64 MB 合計リクエスト量
応答時間:3.02秒平均時間
トランザクション率:72.55トランス/秒
スループット:0.33 MB/秒
同時実行:
トランザクションの成功:13577、1,000を超える404ページはすべて、データベースリンクが不十分であることが原因である。トランザクション: 0.06 最短時間




メモリ 50% 4 コア CPU 帯域幅 90% トラフィック ネットワーク内 1M ネットワーク外 800k


5. 結果診断
1. ngin x 同時処理能力は十分ですが、現在 1、サーバー負荷分散は状況に応じて後で追加される可能性があります

2.php-fpm 満足しています。現在、同じ nginx 負荷分散と 1 つのバックアップを使用して単一サーバー上で 4 つの php-fpm プロセスが実行されています

3. データベース リンクが不十分です(現在の最大リンク数 60 / 同時 ipo 数 150) (無効なデータ クエリ リンクが大部分を占めています)、ipo はボトルネックではなく、Web サイトのユーザー数が増加しても、現時点ではアップグレードする必要はありません。データベース構成 (Alibaba Cloud RDS) は、必要に応じてアップグレードできます。現在の最小構成は 60/150 です。



4.PV = 同時接続数 * 統計時間 * Web サーバー/ページ数 派生接続数/http 応答時間/係数
(100*3600*12*1/3/1/5=288000) 28wPV の改善スペース、負荷分散サーバーの数の増加、派生リンクの数の短縮、js/css マージ共通ページ キャッシュなど。

平均的な人は 1 日あたり少なくとも 20wpv を支払う余裕があるでしょうか?


6. アドバイスをお願いします


誰か、お兄さんかお姉さんが次のことを指摘してくれると幸いです: 現在のサーバー構成はテスト結果と一致していますか?他にパフォーマンスを改善する余地はありますか?または、nginx またはその他の構成を最適化する方法についてアドバイスをいただけますか?動作環境の最適化に加えて、ハードウェアの構成の最適化についてアドバイスをいただければ幸いです。ありがとうございます。 ! !


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