コンセプト
高並行システムは、通常、私たちは多くの要求を同時に処理することができます提供するサービスを指します。
下の概念を理解します:
- QPS(TPS):取引のrequesのあたり/数、インデックス(httpリクエスト)秒あたりの要求に応えます。
- スループット(典型的に同時QPSの数によって決定される)は、単位時間当たりに処理リクエストの数。
- 応答時間:リクエストに平均を行うためのシステムの応答時間。例えば、システムはHTTPリクエストは200msを処理する必要がある、200msのは、システムの応答時間である(私はここだと思うだけで、処理時間が含まれている必要があり、ネットワーク伝送時間は無視されます)。
- 同時実行は、ある時点での同時アクセスの到着の数は、能力が必ずしも同時に、複数のタスクを処理することを意味します
- CPUコアイベントの並列複数の同じ時間が発生し、コアCPUのイベントを交互に単一の期間を送信します
/同時応答時間のQPS =数
28の原則:ビジネスの体積の80%が時間の20%で行わ
シーン
同時要求の総数は10000であると仮定し、各要求の処理時間がt秒で、サーバ要求の数は、一時間のときT、必要に応じて、すべての要求処理し、nは処理することができます
T =(10000 / N)* T
ターンでは、毎秒何の要求の計算
QPS =(1 / T)* n個
300万PVは毎日がある場合、我々は、時間(ピーク)の20%で一日あたりの訪問の80%を集中仮定し、私たちの単一マシンQPS 58、(もちろん、多くの場合、ダウン)単一のマシン上で実行されている、上記によるとシステムのパフォーマンスデータは、最適化ソリューションを与えています。
QPS =(300W×0.8)/(24x3600x0.2)= 139
オプション1:マシンを追加します
今のマシンが処理できないことを、我々はいくつかのマシンよりも多くを持っています。これは、別の読み取りと書き込み、負荷分散技術からマスターDBを必要とします。
その原理は広がっ以前に集中圧力をシャントすることです。改革プログラムは、迅速、柔軟、速く練習します。
機械テーブル上で必要とされている58分の139
オプション2:単一のパフォーマンス向上
パフォーマンスはまた、最終的にはどのように複雑なあなたのサービスに依存して、あなたのマシンの構成に応じて、どの程度に最終的に単一に追加することができます。
一般的な例:改良されたマシンのCPU、メモリ(同時に、システムが処理要求の数を増加させることができる); PHPキャッシュ有効opcache、データキャッシュのさまざまな方法を使って、コードのパフォーマンスの最適化、データベース最適化、永久的なメモリ技術を使用します。
分析
今、あなたは、現在の状況のQPS製品QPS各インターフェイス、および現在のシステムを分析するためのシステムを設計する必要があるとします。
要求番号QPS =期間/期間
我々は毎時間または分の操作ごとに来ると仮定します。まず、各ログ要求は、ログファイルに、ログファイルが読み取り処理に達する結果(一意の識別マークと各要求)に応じて、応答時間を含み、システムがキューにデータを送信し、他のキューの消費量データベースまたはのNoSQLに、地面、次
、また、システムのログを記録することができ、企業の様々なビジネスラインのクエリログのために、また、(例えば、タイムアウトを要求する早期警告を監視する役割を再生することができ、このようなグローバルなロギングシステムとして、QPSを分析するために、トラフィックの異常急増困難なこれらのデータの分析ではありません)。ちょうどストレージ分析に入れない理由、それはそのようなプログラムの大きな流れの下でのパフォーマンスの問題が発生することはありません。
【Feekは、行ポインタを指定し、コンテンツのfgetsの行を取得し、FEOFは終了判定ではない達し]