MySQL パフォーマンス ストレス ベンチマーク ツール sysbench の使い方の紹介

MySQL パフォーマンス ストレス ベンチマーク ツール sysbench の使い方の紹介

1. sysbenchの紹介

ここでは、ベンチマークテストに使用される MySQL データベース ストレス テスト ソフトウェア sysbench を紹介します。

Sysbench は、オープン ソース、モジュール式、クロスプラットフォームのマルチスレッド パフォーマンス テスト ツールです。

CPU、メモリ、ディスク I/O、スレッド、データベースのパフォーマンス テストを実行するために使用できます。

現在サポートされているデータベースは、MySQL、Oracle、PostgreSQL です。

#プロジェクトダウンロードアドレス:

https://launchpad.net/sysbench
http://github.com/akopytov/sysbench

このベンチマーク スイートの目的は、複雑なデータベース ベンチマークを設定したり、データベースをインストールしたりすることなく、システム パフォーマンスの印象をすばやく得ることです。
現在の機能では、次のシステム パラメータのテストが可能です。

  • #CPU パフォーマンス
  • ファイル I/O パフォーマンス #ファイル IO パフォーマンス、ディスク IO パフォーマンス
  • スケジューラのパフォーマンス
  • メモリ割り当てと転送速度
  • POSIXスレッド実装パフォーマンス
  • データベース サーバーのパフォーマンス (OLTP ベンチマーク)

Sysbench の oltp は主に、さまざまなシステム パラメータの下でデータベースの負荷を評価およびテストするために使用されます。
バージョン 0.4 と比較すると、OLTP テストの以降のバージョンでは、主に lua スクリプトを組み合わせています。ソース コードを変更する必要はありません。カスタム lua スクリプトを通じて、さまざまなビジネス タイプのテストを実現できます。

SysBench の欠点:
シミュレートされたテーブル構造は単純すぎるため、tpcc-mysql ほど完全なトランザクション システムではありませんが、MySQL パフォーマンス ストレス テストの比較には非常に役立ちます。

2. Sysbenchのインストールプロセス

#関連する依存関係をインストールする

/dev/cdrom /mnt をマウントします
yum -y インストール make automake libtool pkgconfig libaio-devel libtool

# インストールプロセスが開始されます

#クライアントライブラリパッケージへのリンクを作成します ln -sf /mysql/app/mysql/lib/libmysqlclient.so.20 /usr/lib/libmysqlclient.so.20
#解凍してインストール cd /softtar zxvf sysbench-1.0.15.tar.gz cd sysbench-1.0.15./autogen.sh
./configure --prefix=/mysql/app/sysbench --with-mysql=/mysql/app/mysql --with-mysql-includes=/mysql/app/mysql/include/
# --with-mysql-libs=/usr/lib/ です
作成 && インストール
#環境変数を設定する vi ~/.bash_profile
PATH=$PATH:/mysql/app/sysbench/bin:$HOME/bin
ソース ~/.bash_profile
sysbench --バージョン
#エラーメッセージが報告された場合、sysbench: 共有ライブラリのロード中にエラーが発生しました: libmysqlclient.so.20: 共有オブジェクトファイルを開けません: そのようなファイルまたはディレクトリはありません

#次に、/usr/lib の行を /etc/ld.so.cnf [root@tse01 local] に追加します。# cat /etc/ld.so.conf
ld.so.conf.d/*.conf をインクルードする
/usr/lib/
# ldconfig -v を実行して設定を更新します [root@tse01 local]# /sbin/ldconfig -v

# ヒント:

MySQLのヘッダーファイルとライブラリを非標準の場所にインストールした場合(PATHにmysql_configが見つからない場合)、

上記のように、--with-mysql-includes および --with-mysql-libs オプション引数を明示的に指定できます。

MySQL サポートなしで sysbench をコンパイルするには、--without-mysql を使用します。
データベース ドライバーが利用できない場合は、データベース関連のスクリプトは機能しませんが、他のベンチマークは機能します。

#一般的なコマンドラインオプション

次の表に、サポートされている共通オプション、その説明、およびデフォルト値を示します。

オプション
説明する
デフォルト値
--スレッド
作成するワーカースレッドの合計数
1
--イベント
リクエストの総数には制限があります。 0(デフォルト)は制限なしを意味します
0
- 時間
合計実行時間制限(秒単位)。 0は制限なしを意味します
10
--ウォームアップ時間
統計を有効にして実際のベンチマークを実行する前に、統計を無効にしてイベントを数秒間実行します。この機能は、ベンチマーク実行の初期期間を統計から除外する場合に便利です。多くのベンチマークでは、CPU/データベース/ページやその他のキャッシュがウォームアップするのに時間がかかるため、初期段階は代表的ではありません。
0
- レート
平均取引レート。この数値は、すべてのスレッド全体で平均して 1 秒あたりに実行されるイベント (トランザクション) の数を指定します。 0(デフォルト)は無制限のレートを意味し、イベントは可能な限り高速に実行されます。
0
--スレッド初期化タイムアウト
ワーカースレッドが初期化されるまでの待機時間(秒)
30
--スレッドスタックサイズ
各スレッドのスタックサイズ
32K
--レポート間隔
指定された間隔 (秒単位) で定期的に中間統計を報告します。このオプションでは、累積的ではなく時間間隔に基づいて統計が生成されることに注意してください。 0は中間レポートを無効にする
0
- デバッグ
デバッグ情報をさらに印刷する
離れる
--検証
可能な限りテスト結果を検証する
離れる
- ヘルプ
一般的な構文または指定されたテストに基づいてヘルプを印刷し、終了します。
離れる
--詳細度
詳細レベル (0 - 重要なメッセージのみ、5 - デバッグ)
4
--パーセンタイル
sysbench は、処理されたすべてのリクエストの実行時間を測定し、最小、平均、最大実行時間などの統計情報を表示します。ほとんどのベンチマークでは、特定のパーセンタイルに一致するリクエスト実行時間の値を知ることも役立ちます (たとえば、95% パーセンタイルは、最も長いリクエストの 5% を破棄し、残りから最大値を選択する必要があることを意味します)。このオプションを使用すると、計算するクエリ実行時間のパーセンタイルランクを指定できます。
95
--luajit-cmd
LuaJIT 制御コマンドを実行します。このオプションは luajit -j と同等です。詳細については、LuaJIT のドキュメントを参照してください。

対応する乗算サフィックス (キロバイトの場合は K、メガバイトの場合は M、ギガバイトの場合は G、テラバイトの場合は T) を追加することでバイトを指定できることに注意してください。
すべてのサイズ オプションの値を指定します (この表に示すように --thread-stack-size)。

#sysbench は [コマンド] を使用します。一般的に使用されるのは次のとおりです。

1) テストの準備とデータの生成
2) テストを実行する
3) クリーンアップはデータをクリーンアップします
4) 助ける
5) バージョン

以上がMySQLパフォーマンスストレスベンチマークテストツールsysbenchの使い方の詳細な紹介です。MySQL sysbenchの使い方の詳細については、123WORDPRESS.COMの他の関連記事をご覧ください。

以下もご興味があるかもしれません:
  • MySQL 5.7.20 共通ダウンロード、インストール、設定方法と簡単な操作スキル(解凍版無料インストール)
  • MySQL 8.0.23 のインストールと設定方法のグラフィックチュートリアル (Win10 の場合)
  • mysql の sysbench ストレス テストに関する詳細なチュートリアル
  • MySQL ストレス テスト方法 mysqlslap を使用して MySQL ストレスをテストする方法は?
  • MySQL ストレス テスト スクリプトの例
  • Mysqlslap MySQL ストレステストツールの簡単なチュートリアル
  • MySQLシリーズ15 MySQL共通設定とパフォーマンスストレステスト

<<:  DOCTYPE HTMLを使用する理由

>>:  フロア効果を実現するためのJavaScript

推薦する

MySQL のインデックスの種類と基本的な使用例

目次索引- 総合索引- ユニークなインデックス- 主キーインデックス- 複合インデックス- 全文索引...

Centos6.5 に zabbix2.4 をインストールするチュートリアル図

centos-DVD1バージョンシステムの固定IPアドレスは192.168.159.128で、cen...

一般的なブラウザ互換性の問題(概要)

ブラウザの互換性とは、スタイルの互換性 (CSS)、インタラクションの互換性 (JavaScript...

MySQL mysqldump の使い方の詳しい説明

1. mysqldump の紹介mysqldump は、MySQL に付属する論理バックアップ ツー...

CentOS 7 で PHP 5.4 を 5.6 にアップグレードする方法の簡単な分析

1.ターミナルに入ったらPHPのバージョンを確認するphp -v出力は次のようになります。 PHP ...

Docker ケース分析: Redis サービスの構築

目次1 マウントディレクトリとファイルを作成する2 Redisイメージを取得する3 コンテナを作成し...

Zabbix と bat スクリプトを組み合わせて複数のアプリケーションの状態を監視する方法

シナリオシミュレーション:国内企業の中には、重要な業務をサポートするために特定のウィンドウ プログラ...

開発効率を向上させる 20 の JavaScript ヒント

目次1. 配列を宣言して初期化する2. 合計、最小値、最大値を計算する3. 文字列、数値、オブジェク...

MySQL は、元のデータと同じデータがある場合、更新ステートメントを再度実行しますか?

背景この記事では主に、MySQL が更新ステートメントを実行するときに、元のデータと同一の (つまり...

HTML におけるブロックコメントの使用に関する詳細な紹介

HTML の一般的なコメント: <!--XXXXXXXX--> (XXXXXXXX はコ...

TypeScript をインストール、使用、自動コンパイルする方法に関するチュートリアル

1. TypeScriptの紹介前回の記事ではTypeScriptのインストール、使い方、自動コンパ...

MySQL 結合クエリ構文と例

接続クエリ:これは、2 つのクエリ (またはテーブル) の各行をペアで接続した結果です。つまり、1 ...

Centos7.4 システムに yum ソースから mysql 5.6 をインストールする

システム環境: centos7.4 1. データベースがインストールされているかどうかを確認します。...

javascript:void(0) の意味と使用例

voidキーワードの紹介まず、void キーワードは JavaScript で非常に重要なキーワード...

Linuxでスクリーンショットを撮って編集するための最高のツール

メインのオペレーティング システムを Windows から Ubuntu に切り替えたとき、最初に考...