MySQLデータベースはsysbenchに基づくOLTPベンチマークテストを実装します

MySQLデータベースはsysbenchに基づくOLTPベンチマークテストを実装します

Sysbench は、MySQL データベース ストレージ エンジン InnoDB のディスク I/O モードを正確にシミュレートできる優れたベンチマーク ツールです。したがって、sysbench のこの機能に基づいて、このツールを使用して、単純なものから複雑なものまで、MySQL データベースのトランザクション処理ワークロードのサポートをベンチマークし、検証します。

テストシナリオ1: OLTP読み取りベンチマークテスト

1) データを準備する

sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=100000

--mysql-db=cbusdb --mysql-user=root 準備

2) OLTPランダム読み取り一貫性ビジネスシナリオテスト検証

時間 sysbench --test=oltp --oltp-table-size=100000 --mysql-db=cbusdb

--mysql-user=root --max-time=60 --oltp-read-only --max-requests=0 --num-threads=8 実行

上記のテストでは、最大 10,000 回/秒のリクエストで 8 つの同時スレッドをシミュレートし、100,000 のデータ レコードを含む単一のテーブル データ セットに対して 60 秒間ランダム読み取り操作を実行します。テスト結果は次のとおりです。

100,000 件のデータ レコードを持つテーブルに対して一貫性のある読み取り操作を実行する 8 人の同時ユーザーをシミュレートし、上記の図を組み合わせると、次の結論を導き出すことができます。

1) 合計 766,094 件の読み取り要求、109,442 件の更新およびその他のタイプの要求が 60 秒以内に実行され、QPS: 12,765。

2) 60秒以内に合計54721件のトランザクション操作が実行され、TPS: 911、成功率は100%でした。

3) 各トランザクションの最小実行時間は 2.98 ミリ秒、最大実行時間は 184.5 ミリ秒、平均実行時間は 8.76 ミリ秒です。

上記テスト結果の動作環境の基本構成情報は次のとおりです。

1) 仮想マシンには 2 つの CPU、2G のメモリ、20G のストレージ容量があります。

2) MySQL データベース パラメータが最適化または調整されていません。

テストシナリオ2: OLTP混合型負荷テスト

OLTP ランダム読み取りおよび書き込み (更新、削除、挿入) をシミュレートします。

sysbench --test=oltp --mysql-table-engine=innodb --oltp-table-size=10000

--mysql-db=cbusdb --mysql-user=root --max-time=60

--oltp-nontrx-mode=update_key --max-requests=0 --num-threads=8 実行

テスト結果は次のとおりです。

8 人の同時ユーザーをシミュレートして、100,000 のデータ レコードを含むテーブルで複雑な混合ワークロード テストをシミュレートし、それを上記の図と組み合わせると、次の結論が導き出されます。

1) 60 秒以内に、合計 233,268 件の読み取り要求、83,260 件の書き込み要求、33,309 件のその他の種類の要求、および 5,273 QPS。

2) 60秒以内に合計16,647件のトランザクション操作が実行され、TPSは277、ロック競合によるデッドロックの数は15、トランザクション成功率は99.91%でした。

3) 各トランザクションの最小実行時間は 8.19 ミリ秒、最大実行時間は 1299.78 ミリ秒、平均実行時間は 28.82 ミリ秒です。

上記テスト結果の動作環境の基本構成情報は次のとおりです。

1) 仮想マシンには 2 つの CPU、2G のメモリ、20G のストレージ容量があります。

2) MySQL データベース パラメータが最適化または調整されていません。

sysbench の詳細な紹介

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Sysbench の MySQL ベンチマーク プロセスの分析
  • sysbenchツールによるMySQLデータベースのパフォーマンステストの実装方法
  • mysql の sysbench ストレス テストに関する詳細なチュートリアル
  • sysbench を使用して MySQL のパフォーマンスをテストする詳細なチュートリアル
  • sysbench を使用して MySQL のパフォーマンスをテストするチュートリアル
  • MySQL パフォーマンス ストレス ベンチマーク ツール sysbench の使い方の紹介

<<:  XHTML でのハイパーリンク タグの使用に関するチュートリアル

>>:  dockerでPostgreSQLを実行する方法

推薦する

JS で美しい条件式を書く方法についての簡単な説明

目次複数の条件文複数属性オブジェクトスイッチステートメントを置き換えるデフォルトパラメータとデストラ...

CSSにおけるマージン値と垂直マージンの重なりについて

平行ボックスの余白 (二重余白の重なり) に関する面接の質問: 1 つのボックスに上余白があり、もう...

dockerでデプロイされたjenkinsでgitプログラムを実行する際の問題について

1. まず、gitを関連付けるときにエラーメッセージが報告されます: エラー: ビルドするリビジョン...

HTML の基本 - ハイパーリンク スタイルを設定する簡単な例

*** ハイパーリンクのスタイル設定の例a:link クリックされる前のハイパーリンクの状態a:vi...

MySQL 最適化 query_cache_limit パラメータの説明

クエリキャッシュ制限query_cache_limit は、単一のクエリで使用できるバッファ サイズ...

MySQL クロステーブルクエリとクロステーブル更新

SQL の基礎知識がある友人は、「クロステーブル クエリ」について聞いたことがあるはずですが、クロス...

ダウンロードにおすすめの氷と雪のフォント 33 種類 (個人用および商用)

01 ウィンターフレーク(個人のみ) 02 スノートップキャップ(業務用) 03 モディウス「フリ...

JavaプログラミングでJavaScriptの超実用的なテーブルプラグインを書く

目次効果ドキュメント最初のステップステップ2ステップ3ソースコード効果ドキュメント最初のステップta...

WindowsシステムでMySQLデータベースを完全にアンインストールして、MySQLを再インストールします

1. コントロールパネルで、MySQLのすべてのコンポーネントをアンインストールします。コントロール...

Vueは画像のドラッグアンドドロップ機能を実装します

この記事の例では、画像のドラッグアンドドロップ機能を実現するためのVueの具体的なコードを参考までに...

Ubuntu 18.0.4 MySQL 8.0.20 のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0.20 のインストールおよび設定方法は、参考としてグラフィック チュートリアルにま...

ES9の新機能の詳細な説明: 非同期反復

目次非同期トラバーサル非同期反復可能トラバーサル非同期反復生成非同期メソッドと非同期ジェネレーター非...

Vueルータールーティングガードの詳細な説明

目次1. グローバル beforeEach 1. グローバル beforeEach 2. 実装2. ...

js で 0ms 遅延タイマーを実装するいくつかの方法

目次キューマイクロタスク非同期/待機メッセージチャネルやっと付録ここ二日間、「タイムリーな setT...

JSはショッピングカート効果の単純な加算と減算を実装します

この記事の例では、ショッピングカートの簡単な追加と削除を実現するためのJSの具体的なコードを参考まで...