MySQLは、パフォーマンスストレステストツールのmysqlslapが付属しています

 MySQLを起動するには、バージョン5.1.4からのmysqlslapは公式が提供するツールをストレステストを開始しました。

複数の同時クライアントアクセスをシミュレートすることにより、並行して行うストレスは、より詳細なレポートのSQL実行のパフォーマンスデータを提供しながら、MySQLをテストし、(などのMyISAM、InnoDBは、)同時ストレージエンジンの同じコントラストウェル複数の同じ環境で圧力下でのパフォーマンスの違い。

mysqlslapは公式説明します。http://dev.mysql.com/doc/refman/5.6/en/mysqlslap.html

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

--host = host_nameに、-hホスト名(またはIPアドレス)は、MySQLサーバーのHOST_NAMEのデフォルトのネイティブローカルホストに接続されています

--user =ユーザ名利用のMySQL接続サービスのUSER_NAME、-u user_nameは

--password [=パスワード]、-p [パスワード]はサービスのパスワードのMySQLを接続するために使用されます

--create-スキーマは、テストスキーマ定義されたセルフテストライブラリ名を表し、MySQLは、スキーマのデータベースです。
(どのデータベースを指定しない場合は、エラーのmysqlslapが発生することがあります。エラーをサーバーに接続するとき: 1049不明なデータベース「のmysqlslapを」)

--query =名、-qテストが(文字列またはSQLスクリプトであってもよい)、カスタムスクリプトを使用して実行され、例えば、SQLステートメントによって、またはテストを実行定義ストアドプロシージャから呼び出すことができます。

--create必要なテーブルのSQLを作成します(SQLは、文字列またはスクリプトであってもよいです)

--concurrency = N、-c Nを同時実行、同時にアナログクエリを実行するクライアントの、すなわち数を表します。あなたは、区切り文字として指定された複数の値、または値コンマ--delimiterパラメータを指定することができます。例えば: - 同時実行= 100200500(100200500は、それぞれ同時実行します)。

--iterations = N、N -iテストの反復が何回、各テストの実行、異なる同時環境の代表者に、行って、結果をより正確にするために、複数回実行します。

--numberオブクエリ= Nは、全体的なテストを照会(×顧客あたりの同時クライアントクエリの数)

試験されるエンジンの--engine = ENGINE_NAME、-e ENGINE_NAME代表、区切り文字で区切られた複数、存在し得ます。例えば: - エンジン= MyISAMテーブル、InnoDBは、メモリ。

--auto-生成-SQL、-aテーブルとテストデータの自動生成は、同時の圧力をテストするSQLスクリプトを生成するためのmysqlslap独自のツールを発現しました。

--auto-生成-SQL-負荷型= type型のテスト文を。テスト環境に読み取りまたは書き込み動作、またはその両方の組み合わせを表します。値を含む:.読み取り(スキャンテーブル)、書き込み(テーブルへの挿入)、キー(主キーを読み取る)、アップデート(更新主キー)、または混合(半挿入、半走査選択)デフォルト値は、次のとおり混合しました。

--auto-生成-SQL-アドオン自動インクリメント代表は自動的に5.1.18バージョンから結果のテーブルのAUTO_INCREMENTカラムを追加サポートするために始めました。

--number-チャーCOLS = N、文字列-x Nの数が自動的に生成されたテストテーブルには、デフォルトが含ま1

--number-INT-COLS = N、N -Y数値列の数が自動的に生成されたテストテーブルには、デフォルトが含ま1

--commintを提出した後に=どのように多くのDML N.

--compress、-C場合、サーバーとクライアントのサポート圧縮、情報伝達の圧縮の両方。

実際に実行せずにテストだけを印刷するステートメントを--only-印刷します。

切断するようにして--detachを再接続= Nは、N文を実行します。

--debug-情報、-T印刷情報メモリとCPU。

試験例:

mysqlslap -uroot -p --socket /tmp/mysql3306.sock --concurrency = 1 --iterations = 1 --create-スキーマ= 'テスト' --query = 'SELECT ID、unionid、のcurrent_num、invite_join unionid FROM TOTAL_NUM = "CMO" AND active_id = "3" とID DESCのLIMIT 1 BY = 0 ORDER is_deleted;」--number・オブ・クエリ= 1000000

(-pは、MySQL rootパスワードの背後にあるとの)さまざまなテストパラメータの例:

シングルスレッドテスト。テストが行われ。
# mysqlslap -a -uroot -p123456
マルチスレッドテスト。-Concurrencyは同時接続をシミュレートするために使用しました。
# mysqlslap -a -c 100 -uroot -p123456
反復テスト。複数のテストの必要性は、平均値を得るために行われます。
# mysqlslap -a -i 10 -uroot -p123456

# mysqlslap ---auto-generate-sql-add-autoincrement -a -uroot -p123456
# mysqlslap -a --auto-generate-sql-load-type=read -uroot -p123456
# mysqlslap -a --auto-generate-secondary-indexes=3 -uroot -p123456
# mysqlslap -a --auto-generate-sql-write-number=1000 -uroot -p123456
# mysqlslap --create-schema world -q "select count(*) from City" -uroot -p123456
# mysqlslap -a -e innodb -uroot -p123456
# mysqlslap -a --number-of-queries=10 -uroot -p123456

異なるストレージエンジンながら試験性能を比較しました。
# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --engine=myisam,innodb --debug-info -uroot -p123456

テスト、それぞれ50と100個の同時実行千合計クエリを実行します。
# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --debug-info -uroot -p123456

50および100は、それぞれ、同時テスト結果(ベンチマーク)を取得するには、より多くの同時の数、すべてのクエリの長​​い完全な実装。確認するために、あなたはより多くの反復テスト時間を指定できます。
# mysqlslap -a --concurrency=50,100 --number-of-queries 1000 --iterations=5 --debug-info -uroot -p123456

公開された72元の記事 ウォン称賛7 ビュー10000 +

おすすめ

転載: blog.csdn.net/qq_39399966/article/details/104717000