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

推薦する

Chrome タブバーを実装するための CSS のヒント

今回は、Google Chrome のタブバーのような、特殊な丸い角を持つナビゲーション バーのレイ...

初心者がHTMLタグを学ぶ(3)

HTML に触れる初心者は、いくつかの HTML タグを学びます。関連記事:初心者が学ぶ HTML...

Dockerのインストール、イメージの作成、NodeJSプログラムの読み込みと実行の詳細なプロセス

システム環境: Windows 7 1. DockerをインストールするDocker公式サイトからd...

エレメントアバターアップロード練習

この記事は、Element公式サイトとQiniu Cloud公式サイトを使用しています。 eleme...

HTMLベースの複数画像アップロードのプレビュー機能を実装

最近、Web ページに複数の画像をアップロードするためのスクリプトを作成しました。これは非常に実用的...

mysqlは2つ以上のフィールドがNULLであるレコードを見つける問題を解決します

コアコード /*-------------------------------- 2つ以上のフィール...

Homebrewを使用してMacにMySQLをインストールするときにログインできない問題を解決する

お使いのコンピュータが Mac の場合、homebrew を使用して MySQL をインストールする...

Vueプロジェクトでvuexを使用する方法

目次Vuex とは何ですか? Vuex 使用サイクル図私のストアディレクトリvuexの例の実装要約す...

MySQL alter ignore構文の詳細な説明

今日仕事中に、ビジネス側から次のような質問をされました。テーブルがあり、一意のフィールドを追加する必...

Linux での JDK のインストール (OpenJDK のアンインストールを含む) の概要

1. openjdkを表示する rpm -qa|grep jdk 2. openjdk を削除します...

Vue で SVG アイコンを導入する 2 つの方法

Vue で SVG アイコンを導入する方法Vue で svg アイコンを導入する方法 1インストール...

MySQL で高性能なインデックスを作成するための完全な手順

目次1. インデックスの基本1. インデックスの種類1.1 Bツリーインデックス1.2 ハッシュイン...

10分で始めるCSS3アニメーション

導入アニメーションを使用すると、JavaScript や jQuery に依存せずに、純粋な CSS...

MySQL 8.0.12 解凍バージョンのインストールチュートリアル

この記事では、MySQL 8.0.12解凍版のインストールチュートリアルを参考までに紹介します。具体...

Vue のクロスドメイン問題の処理と解決策の概要

ネットワークリクエストを送信すると、次の保存情報が表示されます。おめでとうございます。ドメインを越え...