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を実行する方法

推薦する

Ubuntu のインストール グラフィック ドライバーと Cuda チュートリアル

目次1. 元のドライバーをアンインストールする2. 新しいグラフィックカードドライバーをダウンロード...

Bootstrap 3.0 学習ノート グリッドシステムの原則

前の 2 つの記事の簡単な紹介を通じて、Bootstrap についての基礎的な理解が得られました。 ...

MySQL トランザクション分離レベルの原則例分析

導入あなたも面接でこれに遭遇したことがあるはずです。トランザクションの分離レベルについてお話ししまし...

LinuxはNetworkManagerを使用してMACアドレスをランダムに生成します

今では、自宅のソファーに座っていても、外の喫茶店にいても、ノートパソコンの電源を入れてWi-Fiに接...

DockerでSpringbootプロジェクトを実行する方法

1. IDEAの下にあるターミナルをクリックし、mvn clean installと入力します。 次...

ストリーマーボタンの効果を実現するCSS3アニメーション

CSS3 を学習する過程で、CSS3 属性を使用すると多くのクールな効果を簡単に実現できることが分か...

MYSQLのバックアップデータのスケジュールクリアの特定の操作

1|0 背景プロジェクトの要件により、各月の履歴在庫データをアーカイブしてバックアップする必要があり...

VMWare を使用して Windows 上で Linux 環境を構築する手順 (画像とテキスト)

Mac を返却して以来、元のラップトップは使用されていません。このラップトップの構成は非常に良好で...

Bootstrap が人気な 11 の理由

序文最も人気のあるフロントエンド開発フレームワークである Bootstrap は、Web サイトの開...

Ubuntu 18でターミナルを美しいコマンドラインプロンプトに変更する方法

VMware と Ubuntu を再インストールしましたが、コマンドラインプロンプトが単調すぎて美し...

node.jsのコアモジュールとは

目次グローバルオブジェクトグローバルオブジェクトとグローバル変数プロセスコンソール一般的なツールユー...

Nginx 正規表現関連のパラメータとルールの紹介

序文最近、私はクライアントのサーバー構成を支援しており、Nginx 構成ファイルを頻繁に変更していま...

MySQL 5.7.18 Green Edition のダウンロードとインストールのチュートリアル

この記事では、MySQL 5.7.18のグリーンバージョンをダウンロードしてインストールする詳細な手...

MySQL の where と on の違いと、いつ使用するか

以前、テーブル結合クエリを書いていたとき、whereとonの違いがわからず、SQLに小さな問題が発生...

VueはOpenLayersを使用してTiandi MapとAmapを読み込み

目次1. 世界地図1. VueにOpenLayersをインストールする2. アマップ1. 世界地図1...