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

推薦する

Linux 名前空間ユーザーの詳細な説明

ユーザー名前空間は Linux 3.8 で追加された新しい名前空間で、ユーザー ID やグループ I...

Centos6.5 で MySQL 5.7.19 をインストールして設定する方法

Centos6.5にmysql5.7.19をインストールするための詳細な手順は次のとおりです。 1....

MySql インデックス使用戦略の分析

MySql インデックスインデックスの利点1. 一意のインデックスまたは主キー インデックスを作成す...

MySQL 8.0 アトミック DDL 構文の詳細な説明

目次01 アトミックDDLの紹介02 一部のDDL操作の実行動作の変更03 DDL 操作のログを表示...

CSSスタイルのカスケーディングルールの詳細な説明

CSS スタイル ルール構文スタイルは、CSS の基本単位です。各スタイル ルールは、セレクターと宣...

初心者向けウェブサイト構築チュートリアルの概要

これら 6 つの記事を書いた後、私は少し混乱し始めました。次にどこに書けばいいのか分かりません。ドメ...

js は axios 制限リクエスト キューを実装します

目次背景は次のとおりです。何が起こるでしょうか?背景は次のとおりです。実際の開発では、ネットワークの...

ウェブサイト製品設計の参考となるいくつかの原則

以下の分析は製品設計原則に関するものですが、そのほとんどはウェブサイト製品に基づいているため、ユーザ...

Linux で指定された期間に数分ごとにタスク スケジュール crontab を自動的に実行する方法

まずコードを見てみましょう #/bin/sh datename=$(日付 +%Y%m%d-%H%M%...

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

Sysbench は、MySQL データベース ストレージ エンジン InnoDB のディスク I/...

MySQLインデックスに関する詳細を共有する

数日前、同僚からMySQLのインデックスについて質問を受けました。大体わかっているのですが、まだ練習...

Windows での自動展開に Jenkins を使用するチュートリアル図

今日は、Jenkins + powershell スクリプトを使用して、.NET CORE スクリプ...

シンプルなページカウントダウンを実現するJavaScript

この記事では、参考までに、シンプルなページカウントダウンを実装するためのJavaScriptの具体的...

Oracle VM VirtualBox の CentOS7 オペレーティング システムのインストール チュートリアル図

目次インストール手順環境設定実行構成インストール手順ダウンロードアドレス: バージョン6.0 最初に...

初心者がソースコードからMySQLのデッドロック問題を理解する

夜遅くまで何度も困難なシングルステップデバッグを行った後、ようやく理想的なブレークポイントを見つけま...