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

推薦する

ウェブページのコアコンテンツ(画像とテキスト)の視覚的表現の紹介

情報の最適化と改良は常にデザインの最初のステップです。 「これは百度アライアンスユーザーエクスペリエ...

Win10 での MySQL 8.0.16 のインストールと設定のチュートリアル

1. MySQL 8.0.16を解凍する次の図に示すように、解凍後にdadaフォルダとmy.ini構...

CentOS7にMySQL 8.0.26をインストールする手順

1. まず、お使いのマシンに応じて、MySQL 公式サイトから対応するデータベースをダウンロードしま...

実用的なクイックスタートReactルーティング開発

インストールインストールするには、次のコマンドを入力します。 // ネプ npm で react-r...

MySQL でデータを削除してもテーブル ファイルのサイズが変更されないのはなぜですか?

長期間稼働しているデータベースの場合、テーブルがストレージ領域を占有しすぎるという問題がよく発生しま...

MySQL 8.0.23のルートパスワードをリセットするための最適なソリューション

この方法は2021年2月7日に編集されました。私が使用しているバージョンは8.0.23です。事件の原...

Linux (Centos7) での redis5 クラスターの構築と使用方法の詳細な説明

目次1. 簡単な説明2. クラスターを作成する手順2.1. ディレクトリを作成する2.2. ソースコ...

JS、CSS スタイルのリファレンスの記述

CS: ... 1. <link type="text/css" href...

CSS3 を使用してピカチュウのアニメーション壁紙を作成する例

文章さて、次はレンダリングを見せましょう。画像を見て初めて理解することに興味が湧くでしょう。そうでな...

vxe-table を使用して vue で編集可能なテーブルを作成するプロセス

プロジェクトには、オンラインで編集する必要があるテーブルがあります。最初は、要素の el-table...

js は、Element の入力コンポーネントのいくつかの機能を実装し、それをコンポーネントにカプセル化します (サンプルコード)

現在実装されているのは、基本的な使用方法、クリア可能なボックス、パスワードボックスです。参考リンク:...

DockerコンテナがJupyterにアクセスできない問題の解決策

このプロジェクトでは、環境を構築するために Docker コンテナを使用します。Dockerfile...

2つのボールが交差する粘着効果を実現するCSSサンプルコード

これは純粋に CSS のみを使用して作成されたエフェクトです。簡単に言うと、このエフェクトは画像処理...

Docker に共通コンポーネント (mysql、redis) をインストールする方法

Dockerはmysqlをインストールします docker search mysql 検索 dock...

Ubuntu 18.04 のすべての Python ライブラリを一度にアップグレードする方法

ピップとは何かpip は、Python パッケージの検索、ダウンロード、インストール、アンインストー...