MySQLデータベースのQPSとTPSの意味と計算方法

MySQLデータベースのQPSとTPSの意味と計算方法

DB ベンチマーク テストを実行する場合、qps と tps はデータベースのパフォーマンスを測定するための重要な指標です。この記事では、オンラインで利用できる 2 つの計算方法を比較します。まず関連する概念を理解しましょう。

コンセプト紹介:

  • QPS: 1 秒あたりのクエリ数は、サーバーが 1 秒あたりに応答できるクエリの数です。これは、特定のクエリ サーバーが指定された時間内に処理するクエリの量を測定するものです。
  • TPS: Transactions Per Second は、1 秒あたりのトランザクション数であり、単位時間内にデータベース サーバーによって処理されるトランザクションの数です。

QPS と TPS という用語は、データベースのパフォーマンス監視でよく使用されます。以下では、MySQL データベースにおける QPS と TPS の意味と計算方法について簡単に紹介します。

1 QPS: 1 秒あたりのクエリ数。ここで、QPS は MySQL サーバーによって 1 秒あたりに実行されるクエリの総数を指します。計算方法は次のとおりです。

質問 = '質問' のようなグローバル ステータスを表示します。
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
QPS = 質問数/稼働時間

2 TPS: 1 秒あたりのトランザクション数。クライアント アプリケーションが要求する TPS 値は、次のように取得されます。計算方法は次のとおりです。

Com_commit = 'Com_commit' のようにグローバルステータスを表示します。
Com_rollback = 'Com_rollback' のようにグローバル ステータスを表示します。
Uptime = SHOW GLOBAL STATUS LIKE 'Uptime';
TPS=(Com_commit + Com_rollback)/稼働時間

IOPS: (Input/Output Operations Per Second) は、1 秒あたりの読み取りおよび書き込み (I/O) 操作の数です。主にデータベースなどで、ランダム アクセスのパフォーマンスを測定するために使用されます。

ストレージ側の IOPS パフォーマンスは、ホスト側の IO とは異なります。IOPS は、ストレージが 1 秒間にホストからアクセスを受信できる回数を指します。ホストからの 1 つの IO を完了するには、ストレージへの複数回のアクセスが必要です。たとえば、ホストが最小データ ブロックを書き込む場合、「書き込み要求の送信、データの書き込み、書き込み確認の受信」という 3 つの手順を実行する必要があり、これは 3 回のストレージ エンド アクセスを意味します。

主な IOPS テスト ベンチマーク ツールには、Iometer、IoZone、FIO などがあり、これらを使用してさまざまな状況でのディスクの IOPS を包括的にテストできます。アプリケーション システムの場合、まずデータの負荷特性を決定し、次に測定および比較分析のための適切な IOPS 指標を選択し、それに基づいて適切なストレージ メディアとソフトウェア システムを選択する必要があります。

Questions は、mysqld の起動以降のすべての select および dml クエリ (show コマンド クエリの数を含む) を記録します。これは多少不正確です。たとえば、多くのデータベースでは監視システムが稼働しており、データベースの現在のステータスを取得するために 5 秒ごとにデータベースに対して show クエリを実行します。これらのクエリは QPS および TPS 統計に記録され、ある程度の「データ汚染」を引き起こします。

データベース内に MyISAM テーブルが多数ある場合は、計算に質問を使用する方が適切です。

データベース内に InnoDB テーブルが多数ある場合は、計算に com_* データ ソースを使用する方が適切です。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。これについてもっと知りたい場合は、次のリンクをご覧ください。

以下もご興味があるかもしれません:
  • データベースパフォーマンステスト用の sysbench ツールの詳細なインストールと使用方法
  • JAVA 注文インターフェースの最適化により実際の TPS パフォーマンスが 10 倍に向上
  • mysql の sysbench ストレス テストに関する詳細なチュートリアル
  • パフォーマンステスト QPS+TPS+トランザクション基本分析

<<:  1 つの記事で Vue ミドルウェア パイプラインを学ぶ

>>:  Centos7にTenda U12ワイヤレスネットワークカードドライバーをインストールする際の問題を解決する

推薦する

mysql5.7 でユーザーの初期パスワードを変更する方法

ユーザーが初めて MySQL データベースをインストールするとき、初期のルート パスワードを変更する...

Vueプロジェクトでよく使われる実践的なスキルのまとめ

目次序文1. マルチレベルのデータとイベントの配信には$attrsと$listenersを使用する2...

M1 チップに MySQL 8.0 データベースをインストールする方法 (画像とテキスト)

1. ダウンロードまず、MySQLの国内ミラーをお勧めします。特に速いわけではありませんが、それで...

ウェブサイトレイアウトにおける CSS の計算関数 calc の例

calc は数値を計算するために使用される CSS 関数です。長さ、角度、時間などを計算できます。 ...

CentOS8 ネットワークカード設定ファイル

1. はじめにCentOS8 システムの更新、新しいバージョンは人々に非常に快適に感じさせます。 こ...

ARM64アーキテクチャでmysql5.7.22をインストールするプロセス全体

MySQLダウンロードアドレス: https://obs.cn-north-4.myhuaweicl...

MySQL 8.0.20でNavicatをインストールして接続する方法と注意すべき点

注意事項1. まず、mysql インストール ディレクトリに次の内容の my.ini ファイルを作成...

JavaScript 文字列オブジェクトメソッド

目次文字列オブジェクトのメソッド方法 1: indexOf() (推奨)方法 2: search()...

MySQL5.7 シングルインスタンス自動起動サービスの設定プロセス

1.MySQLのバージョン [root@clq システム]# mysql -v MySQL モニター...

jQueryはアコーディオン効果を実装します

この記事では、アコーディオンを実装するためのjQueryの具体的なコードを参考までに紹介します。具体...

レンダリング関数を使用して、拡張性の高いコンポーネントをカプセル化する

必要:バックグラウンド管理では、次のようなレイアウトでデータを表示する必要があることがよくあります。...

JavaScript オブジェクトの組み込みオブジェクト、値型、参照型の説明

目次物体オブジェクト定義オブジェクトのメンバーを反復処理するJS組み込みオブジェクト数学オブジェクト...

Nginx 仮想ホストを構成する 3 つの方法 (ポートベース) の詳細な説明

Nginx は、IP ベースの仮想ホスト構成、ポート ベースの仮想ホスト構成、ドメイン名ベースの仮想...

HTMLとCSSを使用して、自分だけの暖かい男「Dabai」を作成します

最終結果はこんな感じです、かわいいでしょう… PS: HTML と CSS の知識があればベストです...

Vue の自動書式設定の改行保存の詳細な説明

ネットで変更方法をいろいろ調べたのですが、うまくいきませんでした。後で大物から見て削除しました。フォ...