この記事では、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 までテストするとき
ストレス テストの同時実行数に達したとき200、接続が崩壊しました
テスト例:
シングル スレッド テスト。
# mysqlslap -a -uroot -proot1234
##マルチスレッド テスト、同時実行性のテスト。 # mysqlslap -a -c 100 -uroot -proot1234 同時実行数が 100 に達すると、検索クエリ時間が 1 秒を超えます 反復テスト。テストを複数回実行して平均を取得するために使用されます。 # mysqlslap -a -i 10 -uroot -proot1234 さまざまなストレージ エンジンのパフォーマンスを同時にテストして比較します: # mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb -uroot -proot1234テストをそれぞれ 50 および 100 同時実行で実行します。 、合計 1000 個のクエリを実行します:#innodb パフォーマンス クエリの方が優れていることは明らかです
# mysqlslap -a --concurrency=50,100 --number-of -クエリ 1000 -uroot -proot1234
50 と 100 の同時実行数では、それぞれ 1 つのテスト結果 (ベンチマーク) が得られます。同時実行数が増えるほど、すべてのクエリの実行に時間がかかります。正確さを期すために、何回か反復してテストできます。
# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 -uroot -proot1234
以上がmysql クラスターのストレス テストの詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。