ウェブサイトのパフォーマンス分析

まず、一般ユーザの異なる視点は、サイトのパフォーマンスWebサイトのパフォーマンスを考えます

平均的なユーザーのためのサイトのパフォーマンス、応答時間の最も直接的な症状。ブラウザのユーザーは直感的にクライアントからサーバに要求を送信し、サイトの応答速度がコンテンツの応答時間を返し感じます。
ウェブサイトの開発者として、Webサイトのパフォーマンスが通常理解すると同じと普通のユーザーではありません。
普通のユーザーは、単にWebサーバによって決定されていないサイトのパフォーマンスを、感じます。時間は、クライアントコンピュータとサーバーの通信を含み、Webサーバが応答を処理し、クライアントのブラウザは、要求データの応答時間を解析するために構成されました。確かに、別のコンピュータと異なるブラウザのパフォーマンスは、HTML速度を解析し、ユーザーは応答時間を感じるようになります異なるネットワークオペレータのネットワーク帯域幅の家の違いは、時間がサイトサーバーは、要求がより大きくてもよい処理します。

開発者は、サイトのパフォーマンスを信じます

開発者は、主にサーバアプリケーション自体、ならびにシステム・パフォーマンスをサポートすることに関する。並行処理、安定性、応答遅延やその他の技術仕様を含みます。
キャッシュデータの使用を含め、性能を最適化する主な手段は、非同期メッセージングは​​、プログラムのパフォーマンスを改善するために使用される要求応答コードを加速用いて、クラスタを使用してデータ・スループットを増加させる、加速度を読み込みます。

運用・保守要員は、サイトのパフォーマンスを信じます

運用・保守要員は、サーバーインフラストラクチャとリソース使用率と主に懸念しています。サーバのハードウェア構成、ネットワークオペレータ帯域幅、データセンターネットワークアーキテクチャなど。費用対効果の高いサーバーの使用を最適化する主な手段は、バックボーンネットワークの最適化を構築する仮想化技術を使用して、リソース使用率を最適化する必要があります。


第二に、パフォーマンス指標

開発者の視点からは、サイトのパフォーマンスと同時の応答時間の主要な指標。

同時

並行システムの数を指しますが、Webサーバに対する要求の数を処理することができ、同時ユーザーの数は、同時Webサイトの数である要求を提出する同時ユーザーの数を指します。
オンラインサイトの数だけでなく、(ユーザーの数がログイン)ユーザーとウェブサイトの利用者(一般登録ユーザーの数をいう。)に対応する番号と並行。彼らの関係は、一般的に次のとおりです。ユーザーがサイト>サイトの利用者数オンライン>同時ユーザーのサイトの数

応答時間

応答時間は、直接システムの速度を反映して、最も重要な性能指標です。

一般的なシステム動作の応答時間[TD]

オペレーティング 応答時間
Webサイトを開きます。 数秒
データベースのレコードを照会(インデックス付き) 十ミリ秒
機械的なディスクの位置をアドレッシング 4ミリ秒
メカニカルディスクから順次読み出されたデータの1メガバイト 2ミリ秒
1MBのディスクは、SSDから順次データを読み出します 0.3ミリ
リモート分散キャッシュのRedisからデータを読みます 0.5ミリ
メモリから読み出さ1MBのデータ 10マイクロ秒
2キロバイトのデータ伝送ネットワーク 1マイクロ秒

第三に、パフォーマンスの最適化

開発者は、Webサイトのパフォーマンスの最適化は、一般的に、フロントエンドのパフォーマンスの最適化、アプリケーション・サーバーのパフォーマンスの最適化、ストレージサーバのパフォーマンス最適化のカテゴリが含まれています。


Webフロントエンドのパフォーマンスの最適化

HTTPリクエストのHTTPプロトコルを低減する1は、すべてのHTTP要求は、通信リンク、データ送信を確立する必要があり、サーバ側では、別のスレッドを起動するすべてのHTTP要求を処理する必要があることを意味し、アプリケーション層プロトコルの状態です。httpリクエストの数を減らすとアクセス性能を向上させることができます。
HTTPを削減する主な手段は、画像をマージし、JavaScriptをマージし、CSSを組み合わせることです。
2は、これらの静的リソースファイルは、更新の比較的低い周波数、Webサイト、CSS、JavaScriptの、ロゴ、アイコン用にブラウザのキャッシュを使用しており、これらのファイルは、ほとんどすべてのHTTPリクエストが必要とされています。これらのファイルはブラウザにキャッシュされている場合は、パフォーマンスの優れたを向上させることができます。キャッシュ制御HTTPヘッダおよびexpires属性を設定することで、ブラウザがキャッシュを設定することができ、カスタマイズすることができます。
図3に示すように、圧縮ファイル圧縮は、サーバ側で効果的に通信で送信されるデータの量を減らすことができるブラウザでファイルの復元を可能にしています。場合は、より多くの一つに外部スクリプト、スタイルの合併の可能な限り、することができます。gzipファイル圧縮を有効にするJavaScript、HTML、CSSは、より良い結果を得ることができますので、テキストファイルは圧縮効率は、80%を超える達することができます。しかし、サーバとブラウザの良好なネットワーク帯域幅の一定の圧力、および不十分なサーバリソース上で発生した圧縮が考慮されます。
4、ページの最も上にCSSは、ダウンロード後にページ全体の魚をレンダリングするブラウザ上でページのjavascriptの下部には、すべてのCSS完了したので、ベストプラクティスは、ブラウザをできるだけ早くダウンロードすることができ、ページの上部にCSSにありますCSS。Javascriptのコントラスト、ブラウザがすぐにJavaScriptの実行をロードした後、ページのjavascriptの下で最高のが遅いページ表示で、その結果、ページ全体をブロックし、そうです。


アプリケーションサーバの最適化

アプリケーションサーバは、サーバ処理ビジネスのウェブサイト、サイトのビジネス・コードは、ここで展開されているので、上の主要な最適化プログラムキャッシュ、非同期、クラスタリングとがあります。
1、キャッシュの使用の合理化
サイトには、パフォーマンスのボトルネックになると、最初のソリューションは、一般的にキャッシュです。サイトアプリケーションを通じて、キャッシュほとんどどこでも、それはクライアントまたはアプリケーションサーバー、またはデータベース・サーバーであるかどうか。対話型クライアントとサーバは、それがデータであるかどうか、ファイルがキャッシュでき、キャッシュは、サイトのパフォーマンスの最適化の使用の合理化のために非常に重要です。
キャッシュは、一般的な情報、製品情報、ホーム倍高い、より少ない変数データを読み取り、それらを保存して書き込むために使用されます。アプリケーションは、キャッシュは通常、読み出しデータの有効期限が切れたりしていない場合、読み込みを開始した後、ディスクのデータベースにアクセスし、データを読み出し、データが再びキャッシュに書き込まれます。
基本的な原理は、このようなデータ格納用メモリとして、記憶媒体に比較的高いアクセス速度をキャッシュすることです。キャッシュされたデータは、計算過程を介して取得する必要がある場合は、1つの手キャッシュアクセス速度で、一方、計算時間サーバー処理データを削減するためにキャッシュを使用することも可能です。
キャッシュを使用する欠陥がないわけではない:メモリリソースがより多くの価値がある、すべてのデータをキャッシュすることは不可能である、一般的な頻繁に変更されたデータは、一貫性のないデータにつながることができますキャッシュを使用することは推奨されません。
サイトのデータ・キャッシュは、一般的に、すなわち訪問の80%がデータの20%だった、二十から八の法則に従ってください。したがって、これらの一般的なデータキャッシュの20%が、システムは、読み取りの効率を向上させるサーバの性能を改善するために機能することができます。
2、非同期操作
非同期メッセージ・キューを使用すると、システムは、サイトのパフォーマンスを向上させることができ、呼び出されます。
メッセージキューを使用せずに、直接データベースへのユーザーの要求は、高並行データベースの場合には大きな圧力、応答時間が遅れる可能性が発生します。
メッセージキューを使用した後、ユーザーがサーバーのメッセージキューに送信されたデータを要求し、メッセージキューサーバ・プロセスが開きます、非同期データがデータベースに書き込まれます。メッセージキュー処理速度がはるかサーバーデータベースを超えて、ユーザーの応答遅れを改善することができます。
トランザクションメッセージをメッセージキューは、それによって同時処理サイトの能力を高め、メッセージキューに格納され、高い同時実行の短時間で生成することができます。電気の供給業者のウェブサイトのプロモーションでは、メッセージキューの使用の合理化は、短時間の高いユーザーの同時実行性への影響に耐えることができます。
3、クラスタの使用
サイト高い同時アクセスの場合には、負荷分散技術の使用は、一つのアプリケーションのために複数のサーバのサーバクラスタを構築することができ、処理するために、複数のサーバに分散し、同時アクセス要求は、過負荷による単一のサーバーを避けるため、とします応答遅延を引き起こします。
4、コードの最適化
ウェブサイトのビジネス・ロジック・コードは、主にアプリケーション・サーバーにデプロイされ、あなたは複雑な同時トランザクションを処理する必要があります。合理的な最適化、ビジネス・コードは、それはまた、サイトのパフォーマンスを向上させることができます。
任意の同時アクセスのウェブサイトは、マルチユーザに遭遇する、大規模なサイトでは、同時ユーザーの数万人に達するだろう。各ユーザの要求は、に対処するための独立したシステムプロセスを作成します。集中的な軽量化、より少ないリソース以上によりプロセス・スレッドなので、現在主流のWebアプリケーションサーバーマルチスレッドのアプローチは、同時ユーザーの要求を処理するため、ほとんどのWeb開発者は、マルチスレッドプログラミングされています。
マルチスレッド・サーバーを使用するもう1つの理由は、複数のCPUを持っている、携帯電話は、8コアCPUの時代になりました、一般的には、CPUの使用を最大化するために、あなたが複数のスレッドを起動する必要があり、少なくとも16コアCPUサーバです。
だから、どのように多くのスレッドはよりよいスタート?
スレッドを起動し、CPUコアは数に比例し、待機時間がIOに比例しています。あなたがコンピューティングタスクの種類である場合、スレッドの数は、CPUコアの最大数を超えないようにする必要があり、より多くのスタート以来、CPUが呼び出しには遅すぎです。タスクは、ネットワーク応答をディスクの読み取りおよび書き込みを待っている場合は、非常に多くのスタートスレッドタスクは、サーバーのパフォーマンスを向上させ、同時実行性が増加します。
または簡略式で説明します。
* CPUコア - スレッド=(IO待ち時間)タスク実行時間/(タスク実行イベント)の数を開始します
5、ストレージの最適化
データを読み書きすることは、同時アクセスを処理するために、別のボトルネックサイトです。あなたが圧力の一部を解決するために、データを読み書きするためにキャッシュを使用しますが、何度もできますが、システムディスクは、まだ最も深刻なボトルネックとなっています。そして、ディスクはサイトの最も重要な資産、可用性とフォールトトレラントディスクも非常に重要です。
機械的なハードドライブとソリッドステートドライブのデータに指定されたディスクアクセスの先頭位置にモータにより駆動される最も一般的に使用される機械的なハードディスク、である、アクセスデータは、ヘッドの数が違いを動かし、連続データの読み取りとランダムアクセスでヘッドを移動する必要があります巨大な、機械的なハードディスクのパフォーマンスの違いは巨大であるので、低い識字率。Webアプリケーションでは、ほとんどのデータへのアクセスがランダムで、この場合には、SSDはより高い性能を持っています。しかし、現在のプロセスでは、データの信頼性はまだアップグレードするSSDは、ソリッド・ステート・ドライブの使用は、機械的なハードディスクを交換するために開発動向から、まだ普遍的ではありませんが、遅かれ早かれにする必要があります。
関係するその他の技術情報:gzitcast

おすすめ

転載: www.cnblogs.com/heimaguangzhou/p/11578595.html