ホームページ  >  記事  >  データベース  >  mysql クラスターのストレス テストの詳細な紹介

mysql クラスターのストレス テストの詳細な紹介

不言
不言転載
2019-02-14 11:55:412336ブラウズ

この記事では、mysql クラスターのストレス テストについて詳しく説明します。必要な方は参考にしていただければ幸いです。

mysql ストレス テスト

Mysql には、mysqlslap と呼ばれるストレス テスト ツールが付属しています。このツールは、MySQL にアクセスする複数の同時クライアントをシミュレートすることでストレス テストを実行し、複数のストレージの同時実行圧力パフォーマンスの違いを適切に比較できます。同じ環境のエンジン。利用可能なオプションは、mysqlslap –help を通じて取得できます。詳細な手順については、公式マニュアルを参照してください。 mysql がシステムに付属している場合、または rpm パッケージを使用してインストールされている場合、MySQL クライアント パッケージにはツール mysqlslap が含まれています。 (推奨コース: MySQL チュートリアル )

テスト環境の導入:

2 台の仮想マシン 2Gmysql の読み取りと書き込みの分離

使用構文は次のとおりです。

# mysqlslap [オプション]

共通パラメータ [オプション] 詳細説明:

--auto-generate-sql, -a は、テスト テーブルとデータを自動的に生成します。 mysqlslap ツール自体 同時実行ストレスをテストするために生成された SQL スクリプト。

--auto-generate-sql-load-type=type テスト ステートメントのタイプ。テスト対象の環境が読み取り操作であるか、書き込み操作であるか、またはその 2 つの混合であるかを示します。値には、読み取り、キー、書き込み、更新、混合 (デフォルト) が含まれます。

--auto-generate-sql-add-auto-increment は、生成されたテーブルに auto_increment 列を自動的に追加することを意味します。バージョン 5.1.18 以降でサポートされます。

--number-char-cols=N, -x N 自動生成されたテスト テーブルに含まれる文字型列の数、デフォルトは 1

--number-int-cols=N , -y N 自動生成されたテスト テーブルに含まれる数値列の数、デフォルトは 1

--number-of-queries=N テスト クエリの総数 (同時顧客数 × 顧客ごとのクエリ数) )

--query=name,-q カスタム スクリプトを使用してテストを実行します。たとえば、カスタム ストアド プロシージャまたは SQL ステートメントを呼び出してテストを実行できます。

--create-schema は、カスタム テスト ライブラリ名とテスト スキーマを表します。MySQL のスキーマはデータベースでもあります。

--commint=N 一度に送信する DML の数。

--compress, -C サーバーとクライアントの両方が圧縮をサポートしている場合、圧縮された情報が渡されます。

--concurrency=N, -c N は同時実行の量、つまり選択を同時に実行するためにシミュレートされるクライアントの数を表します。カンマまたは --delimiter パラメータで指定した値を区切り文字として使用して、複数の値を指定できます。例: --concurrency=100,200,500。

--engine=engine_name, -e Engine_name は、セパレータで区切って複数のエンジンを指定できます。例: --engines=myisam,innodb。

--iterations=N, -i N テスト実行の反復数。異なる同時環境でテストを実行する必要がある回数を表します。

--only-print は、テスト ステートメントを実際には実行せずに印刷するだけです。

--detach=N N 個のステートメントを実行した後に切断し、再接続します。

--debug-info, -T メモリと CPU 関連の情報を出力します。

注:

テスト プロセスでは、テスト テーブルの生成とテスト データの挿入が必要です。mysqlslap スキーマが既に存在する場合は、自動的に生成されます。最初に削除されました。 --only-print を使用すると、実際のテスト プロセスを印刷できます。テスト全体が完了した後、データベースに痕跡は残りません。

mysqlslap -a -c 150 -i 10 -uroot -proot1234 mysql 接続数を 150 までテストするとき

mysql クラスターのストレス テストの詳細な紹介

ストレス テストの同時実行数に達したとき200、接続が崩壊しました

mysql クラスターのストレス テストの詳細な紹介[1]

テスト例:

シングル スレッド テスト。

# mysqlslap -a -uroot -proot1234

mysql クラスターのストレス テストの詳細な紹介[2]

##マルチスレッド テスト、同時実行性のテスト。

# mysqlslap -a -c 100 -uroot -proot1234

mysql クラスターのストレス テストの詳細な紹介[3]

同時実行数が 100 に達すると、検索クエリ時間が 1 秒を超えます

反復テスト。テストを複数回実行して平均を取得するために使用されます。

# mysqlslap -a -i 10 -uroot -proot1234

mysql クラスターのストレス テストの詳細な紹介[4]

さまざまなストレージ エンジンのパフォーマンスを同時にテストして比較します:

# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb -uroot -proot1234

テストをそれぞれ 50 および 100 同時実行で実行します。 、合計 1000 個のクエリを実行します:

mysql クラスターのストレス テストの詳細な紹介[5]#innodb パフォーマンス クエリの方が優れていることは明らかです

# mysqlslap -a --concurrency=50,100 --number-of -クエリ 1000 -uroot -proot1234

mysql クラスターのストレス テストの詳細な紹介[6]

50 と 100 の同時実行数では、それぞれ 1 つのテスト結果 (ベンチマーク) が得られます。同時実行数が増えるほど、すべてのクエリの実行に時間がかかります。正確さを期すために、何回か反復してテストできます。

# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 -uroot -proot1234

mysql クラスターのストレス テストの詳細な紹介[7]

以上がmysql クラスターのストレス テストの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。