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は隣接リスト(隣接リスト)を通じてツリー構造を保存します。

以下の内容では、隣接リストを使用してツリー構造を保存する MYSQL のプロセスとソリューションを紹...

Vue は水の波紋効果のクリックフィードバック指示を実装します

目次水波効果実装を見てみましょう水の波紋のデフォルトスタイルをカスタマイズする水の波紋の位置と直径を...

nginx 設定ファイルで環境変数を使用する方法

序文Nginx はパフォーマンスを重視して設計された HTTP サーバーです。Apache や li...

Linux システムが VMware にインストールされているかどうかを確認する方法

現在の Linux システムが VMware にインストールされているかどうかを確認する方法を教えて...

W3C チュートリアル (3): W3C HTML アクティビティ

HTML は、World Wide Web 上で公開するために使用されるハイブリッド言語です。 XH...

検索データ表示を実装するJavaScript

この記事ではJavaScript検索のデータ表示コードを参考までに共有します。具体的な内容は以下のと...

Linux で Nginx 1.16.0 をインストールするための詳細なチュートリアル

最近 Linux をいじっていたので、nginx の新しいバージョンをインストールしたいと思いました...

Linux でマウントされたファイルシステムの種類を表示する方法

序文ご存知のとおり、Linux は ext4、ext3、ext2、sysfs、securityfs、...

Docker で Redis センチネル モードを構成する方法 (複数のサーバー上)

目次序文状態DockerをインストールするRedisのマスターノードとスレーブノードを構成する序文以...

MySQL データベース操作 (作成、選択、削除)

MySQL データベースの作成MySQL サービスにログインしたら、create コマンドを使用し...

JavaScript イベント キャプチャ バブリングとキャプチャの詳細

目次1. イベントの流れ1. コンセプト2. DOMイベントフロー2. イベントの委任1. イベント...

ウェブページでコンテンツを引用するためによく使われるHTMLタグをマスターする

長い引用には blockquote を、短い引用には q を、参考文献には cite を使用します。...

ウェブサイトのデザインを改善するための役立つ提案を提供します

<br />ウェブサイトを科学的にデザインする: アイトラッキング研究から学ぶ 23 の...

Vue データ内のプロパティをランダムに変更すると、ビューは更新されますか?

インタビュアー: Vue のソースコードを読んだことはありますか?応募者:あります。インタビュアー:...