吐血の分類、パフォーマンステストの最も重要な指標の分析と説明、ワンステップクリア...


序文

QPS Queries Per Second は、1 秒あたりのクエリ レートであり、サーバーが 1 秒あたりに応答できるクエリの数です。指定された時間内に特定のクエリ サーバーによって処理されるトラフィック、つまり応答の数の尺度です。 1 秒あたりのリクエスト数。これは最大スループット容量でもあります。

TPS:
1 秒あたりの TPS トランザクション数は、1 秒あたりのトランザクション数です。トランザクションとは、クライアントがサーバーにリクエストを送信し、サーバーが応答するプロセスを指します。クライアントは、リクエストの送信時に計時を開始し、サーバーの応答を受信した後に計時を終了して、使用時間と完了したトランザクションの数を計算します。

QPS と TPS の違い:
1. Tps は、1 秒あたりに処理されるトランザクションの数です。

ユーザーがサーバーに要求する、サーバー自身の内部処理、サーバーがユーザーに返す
、この 3 つのプロセスは 1 秒あたり N 回完了でき、Tps は N です。

2. Qps は基本的に Tps に似ていますが、違いは、ページへの訪問が Tps を形成することですが、ページ リクエストはサーバーへの複数のリクエストを生成する場合があり、サーバーによるこれらのリクエストも「Qps」としてカウントできます。

たとえば、ページにアクセスするとサーバーに 3 回リクエストが行われ、サーバーが解放されると「T」が生成され、「Q」が 3 回生成されます。

例: 大食いの人は 1 秒で 10 個のパンを食べることができ、女の子は 0.1 秒で 1 個のパンを食べることができます。これらは同じですか? 答えは「いいえ」です。なぜなら、この女の子は 1 秒間に 10 個のパンを食べることができないからです。食べるのに時間がかかるかもしれません。この時、大食いはTPSに相当し、この子はQPSに相当します。似ていますが、実は違います。

同時実行数:
同時実行数 (同時実行度): システムが同時に処理できるリクエストの数を指し、システムの負荷容量も反映します。この値は、マシン上の 1 秒間のアクセス ログの数を分析することで取得できます。

スループット:
スループット: スループットは、単位時間あたりにシステムによって処理されるリクエストの数を指します。TPS と QPS は、スループットの一般的な定量的な指標です。

システムのスループット係数

システムのスループット (耐圧能力) は、リクエスト、外部インターフェイス、IO などの CPU 消費量と密接に関係しています。

1 つのリクエストの CPU 消費量が増えると、外部システム インターフェイスと IO への影響が遅くなり、システム スループットが低下します。逆も同様です。

重要なパラメータ

QPS (TPS)、同時実行数、応答時間

QPS (TPS): 1 秒あたりのリクエスト/トランザクションの数
同時実行性: システムによって同時に処理されるリクエスト/トランザクションの数
応答時間: 一般に平均応答時間

関係

QPS(TPS)=同時実行数/平均応答時間

システムのスループットは、通常、QPS (TPS) と同時実行性の 2 つの要素によって決まります。各システムには、これら 2 つの値に対する相対的な制限値があります。アプリケーション シナリオのアクセス プレッシャーの下では、特定の項目が最高値に達する限り、システム、システム スループット圧力が増加し続けると、システムの過負荷、コンテキスト スイッチング、メモリなどの消費によりシステム パフォーマンスが低下するため、システムのスループットが低下します。

PV:
PV (ページビュー): ページビュー、つまり、ユーザーが更新するたびに計算されるページビューまたはクリック数。サービスの1日分のアクセスログの統計を取得できます。

UV:
UV (ユニークビジター): ユニークビジター。1 日以内にサイトを訪問したユーザーの数をカウントします。ユーザー固有の識別子に基づいて、サービスの 1 日分のアクセス ログを収集し、重複を排除できます。応答時間 (RT): 応答時間は、システムが要求に応答するまでにかかる時間を指し、通常は平均応答時間がかかります。Nginx や Apache などの Web サーバーを通じて取得できます。

DAU:
DAU (Daily Active User)、毎日のアクティブ ユーザーの数。Web サイト、インターネット アプリケーション、オンライン ゲームの動作を反映するためによく使用されます。DAUは通常、1日(統計日)内に特定の製品にログインまたは使用したユーザーの数をカウントします(繰り返しログインしたユーザーは含まれません)。これはUVの概念に似ています。

MAU:
MAU(Month Active User):月間アクティブユーザー数で、重複排除後のWebサイトやアプリなどの月間アクティブユーザー数を指します。

システムのスループット評価:
システムを設計するときは、CPU コンピューティング、IO、外部システム応答要因の影響、およびシステム パフォーマンスの予備見積もりを考慮する必要があります。

通常、需要に直面するときは QPS と同時実行数を評価しますが、日次 pv という別の次元もあります。

システムのアクセスログを観察したところ、ユーザー数が多い場合、各時間帯の同じ時間帯のアクセス量はほぼ同じであることがわかりました。仕事の日の毎朝のように。毎日の交通量マップと QPS を取得できれば、毎日の交通量を計算できます。

通常の技術的方法:
システムの最高 TPS と日次 PV を見つける これら 2 つの要因は比較的安定した関係があります (休日や季節要因の影響を除く)

ストレス テストまたは経験的推定を通じて最高の TPS が取得され、その後 1 の関係に従ってシステムの 1 日あたりの最高スループットが計算されます。B2B 中国人とタオバオは異なる顧客グループに直面しており、これら 2 つの顧客グループのオンライン行動は当てはまらず、両者間の TPS と PV の関係の比率も異なります。

ソフトウェア性能試験の基本概念と計算式

ソフトウェアのパフォーマンスに注目する:
ソフトウェアを開発する目的はまずユーザーに使用してもらうことですが、まずユーザーがどのようなパフォーマンスに注意を払う必要があるのか​​をユーザーの視点から分析してみましょう。

ユーザーにとって、ボタンやリンクをクリックしたり、指示を出したりしてから、システムがユーザーが認識する形で結果を表示するまでにかかる時間は、ソフトウェアのパフォーマンスに対するユーザーの直感的な印象となります。

それが応答時間と呼ばれるものです。応答時間が短いとき、ユーザーエクスペリエンスは非常に優れています。もちろん、ユーザーエクスペリエンスの応答時間には、個人的な主観的な要素と客観的な応答時間が含まれます。ソフトウェアを設計するときは、これら 2 つの部分を組み合わせて、最高のユーザー エクスペリエンスを実現します。

たとえば、ユーザーが大量のデータをクエリした場合、抽出されたデータをユーザーに表示し、ユーザーが見ている間データの取得を続けることができますが、このとき、ユーザーはバックグラウンドで何をしているのか知りません。

ユーザーが注目するのは、ユーザーの操作に対応する時間です。

2 番目に、管理者の観点から注意が必要なパフォーマンスのポイントを検討します。
1. 応答時間
2. サーバー リソースの使用量が妥当かどうか
3. アプリケーション サーバーおよびデータベース リソースの使用量が妥当かどうか 4.
システムを拡張できるかどう
か 5. システムが最大何人のユーザーをサポートできるか、およびその数システムの最大ビジネス処理量
6. システム パフォーマンスの可能性 既存のボトルネックはどこにありますか
? 7. パフォーマンスを向上させるためにどの機器を交換できるか
? 8. システムは 7 時間×24 時間のビジネス アクセスをサポートできますか?

ここでも開発者(デザイナー)の視点で考えてみましょう。
1. アーキテクチャ設計は合理的ですか?
2. データベース設計は合理的ですか?
3. コードにパフォーマンス上の問題はありませんか? 4.
システム内で不当なメモリ使用量はありませんか? 5. システム内で不当なスレッド同期方法はありませんか? 6. システム内に
不当なスレッド同期方法はありませ

以下は、私がまとめた 2023 年の最も包括的なソフトウェア テスト エンジニア学習ナレッジ アーキテクチャ システム図です。

1. Python プログラミングの入門から習熟まで

画像の説明を追加してください

2. インターフェース自動化プロジェクトの実践

画像の説明を追加してください

3. Web自動化プロジェクトの実戦

画像の説明を追加してください

4. アプリ自動化プロジェクトの実践

画像の説明を追加してください

5. 一流メーカーの履歴書

画像の説明を追加してください

6. DevOps システムのテストと開発

画像の説明を追加してください

7. 一般的に使用される自動テストツール

画像の説明を追加してください

8. JMeter パフォーマンス テスト

画像の説明を追加してください

9. まとめ(最後にちょっとしたサプライズ)

忍耐、夢の追求、闘争は目標を達成する力です。勇敢に前進し、限界を超え、努力を通じて輝かしい人生を創造してください。自分の能力を信じ、挑戦し、努力を続ければ、自分だけの素晴らしい航海ができ、可能性は無限に広がります。

自分の力を信じ、勇敢に進み、奮闘することが夢を追う原動力となります。忍耐し、自分を超え、努力を払って人生の壮大な動きを作り上げてください。挑戦を受け入れて前進し、闘いを通じてのみ、あなた自身の輝かしい伝説を作り、人生のまばゆい星空を照らすことができます!

夢を抱き、旅に出ましょう。苦労は成功への原動力です。果敢に前進し、限界を超え、汗を流して輝かしい成果を上げましょう。自分の価値を信じて困難に立ち向かい、不断の努力によってのみ、明るい人生を創造し、無限の可能性を開花させることができます。

おすすめ

転載: blog.csdn.net/m0_60054525/article/details/131982113