これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド mysqlslap です。
プログラム:
NAME
mysqlslap - エミュレーション クライアントのロード
SYNOPSIS
mysqlslap [オプション]
DESCRIPTION
mysqlslap MariaDB サーバーのクライアント負荷をエミュレートするように設計された診断プログラムです。
各ステージのタイミングをレポートします。 複数のクライアントがアクセスしているかのように動作します。
サーバー。
呼び出します mysqlslap このような:
シェル> mysqlslap [オプション]
いくつかのオプション - 作成 or -クエリ SQLを含む文字列を指定できるようにします。
ステートメント、またはステートメントを含むファイル。 ファイルを指定する場合、デフォルトでは、
XNUMX 行に XNUMX つのステートメントが含まれます。 (つまり、暗黙のステートメント区切り文字は改行です
)を使用します。 - デリミタ 別の区切り文字を指定するオプションを使用すると、
複数行にわたるステートメントを指定するか、単一のステートメントに複数のステートメントを配置します。
ライン。 ファイルにコメントを含めることはできません。 mysqlslap それらを理解していません。
mysqlslap XNUMX つの段階で実行されます。
1. スキーマ、テーブル、およびオプションで使用するストアド プログラムまたはデータを作成します。
テスト。 この段階では単一のクライアント接続を使用します。
2. 負荷テストを実行します。 この段階では、多くのクライアント接続を使用することができます。
3. クリーンアップします (切断、指定されている場合はテーブルを削除します)。 このステージでは単一のクライアントを使用します
接続。
例:
50 クライアントのクエリと 200 の選択を使用して、独自の作成 SQL ステートメントとクエリ SQL ステートメントを提供します。
それぞれについて:
mysqlslap --delimiter=";" \
--create="CREATE TABLE a (b int);INSERT INTO a VALUES (23)" \
--query="SELECT * FROM a" --concurrency=50 --iterations=200
しましょう mysqlslap XNUMX つの INT 列と XNUMX つの INT 列からなるテーブルを使用してクエリ SQL ステートメントを構築します。
VARCHAR 列。 20 つのクライアントを使用して、それぞれ XNUMX 回クエリを実行します。 テーブルを作成しないでください。
データを挿入します (つまり、前のテストのスキーマとデータを使用します)。
mysqlslap --concurrency=5 --iterations=20 \
--number-int-cols=2 --number-char-cols=3 \
--自動生成-SQL
指定された SQL ステートメントから作成、挿入、クエリ SQL ステートメントをロードするようにプログラムに指示します。
ここで、create.sql ファイルには、「;」で区切られた複数のテーブル作成ステートメントが含まれています。
「;」で区切られた複数の挿入ステートメント。 の -クエリ ファイルには複数のファイルが含まれます
クエリは「;」で区切られます。 すべてのロード ステートメントを実行してから、すべてのクエリを実行します。
XNUMX つのクライアントを含むクエリ ファイル (それぞれ XNUMX 回):
mysqlslap --concurrency=5 \
--iterations=5 --query=query.sql --create=create.sql \
--区切り文字=";"
mysqlslap コマンドラインまたはで指定できる次のオプションをサポートします
[mysqlslap] および [client] オプション ファイル グループ。 mysqlslap のオプションもサポートしています
オプションファイルの処理。
· - 助けて, -?
ヘルプメッセージを表示して終了します。
· --自動生成-SQL, -a
SQL ステートメントがファイルまたは経由で提供されていない場合、自動的に SQL ステートメントを生成します。
コマンドオプション。
· --auto-generate-sql-add-autoincrement
自動生成されたテーブルに AUTO_INCREMENT カラムを追加します。
· --auto-generate-sql-execute-number=N
自動的に生成するクエリの数を指定します。
· --auto-generate-sql-guid-primary
自動生成されたテーブルに GUID ベースの主キーを追加します。
· --auto-generate-sql-load-type=type
テストロードのタイプを指定します。 許容される値は、読み取り (テーブルのスキャン)、書き込み (挿入) です。
テーブルに変換)、キー (主キーの読み取り)、更新 (主キーの更新)、または混合 (半分)
インサート、ハーフスキャン選択)。 デフォルトは混合です。
· --auto-generate-sql-Secondary-indexes=N
自動生成されたテーブルに追加するセカンダリ インデックスの数を指定します。 に
デフォルトでは何も追加されません。
· --auto-generate-sql-unique-query-number=N
自動テスト用に生成するさまざまなクエリの数。 たとえば、次のコマンドを実行すると、
1000 回の選択を実行するキー テストでは、このオプションを値 1000 で使用して、
1000 個の一意のクエリを実行するか、値 50 を指定して 50 個の異なる選択を実行します。 の
デフォルトは10です。
· --auto-generate-sql-unique-write-number=N
生成するさまざまなクエリの数 --auto-generate-sql-write-numberを選択します。
デフォルトは10です。
· --auto-generate-sql-write-number=N
各スレッドで実行する行挿入の数。 デフォルトは 100 です。
· --コミット=N
コミットする前に実行するステートメントの数。 デフォルトは 0 (コミットはありません)
終わり)。
· -圧縮, -C
両方がサポートしている場合、クライアントとサーバー間で送信されるすべての情報を圧縮します
圧縮。
· --同時実行=N, -c N
SELECT ステートメントを発行するときにシミュレートするクライアントの数。
· --作成=値
テーブルの作成に使用するステートメントを含むファイルまたは文字列。
· --create-schema=値
テストを実行するスキーマ。
· --csv[=file_name]
カンマ区切り値形式で出力を生成します。 出力は指定されたファイルに保存されます。
ファイルが指定されていない場合は標準出力に出力されます。
· -デバッグ[=デバッグオプション], -# [デバッグオプション]
デバッグログを書き込みます。 典型的な デバッグオプション 文字列は´d:t:o、file_name´。 NS
デフォルトは「d:t:o,/tmp/mysqlslap.trace」です。
· --デバッグチェック
プログラムの終了時にデバッグ情報を出力します。
· - デバッグ情報, -T
プログラム時にデバッグ情報とメモリおよびCPU使用率の統計を出力する
終了します。
· --default-auth =名
使用するデフォルトの認証クライアント側プラグイン。
· --defaults-extra-file =ファイル名
作成セッションプロセスで ファイル名 グローバルデフォルトファイルの後にデフォルトオプションを読み取るファイルとして
読んだ。 最初のオプションとして指定する必要があります。
· --defaults-file =ファイル名
作成セッションプロセスで ファイル名 デフォルトオプションを読み取るファイルとして、グローバルデフォルトファイルを上書きします。
最初のオプションとして指定する必要があります。
· --区切り文字=STR, -F STR
ファイルまたはコマンド オプションで指定された SQL ステートメントで使用する区切り文字。
· --デタッチ=N
毎回の接続後に各接続を切断します (閉じて再度開きます)。 N 発言。 デフォルトは0です
(接続は切断されません)。
· --エンジン=エンジン名, -e エンジン名
テーブルの作成に使用するストレージ エンジンのカンマ区切りのリスト。 テストが実行されます
各エンジンごとに。 コロンの後にエンジンのオプションを指定することもできます。
例 メモリ:最大行=2300.
· --host =ホスト名, -h ホスト名
指定されたホスト上の MariaDB サーバーに接続します。
· --init-command=str
MariaDB サーバーに接続するときに実行する SQL コマンド。 自動的に
再接続時に再実行されます。
· --反復数=N, -i N
テストを実行する回数。
· --no-デフォルト
オプションファイルからデフォルトオプションを読み取らないでください。 これは最初に与えられなければなりません
引数。
· -ドロップなし
テスト中に作成されたスキーマは、テスト完了後に削除しないでください。
· --number-char-cols=N, -x N
次の場合に使用する VARCHAR 列の数。 --自動生成-SQL 指定されています。
· --number-int-cols=N, -y N
次の場合に使用する INT 列の数。 --自動生成-SQL 指定されています。
· --クエリ数=N
各クライアントをほぼこの数のクエリに制限します。 クエリカウントには次のことが含まれます
ステートメントの区切り文字を考慮します。 たとえば、次のように呼び出すと、 mysqlslap 以下のように、
; 区切り文字は、クエリ文字列の各インスタンスが XNUMX つとしてカウントされるように認識されます。
クエリ。 結果として、5 行ではなく 10 行が挿入されます。
シェル> mysqlslap --区切り文字=";" --クエリ数=10
--query="使用する テスト;挿入 に t 値(null)」
· --only-print
データベースには接続しないでください。 mysqlslap 実行される内容のみを出力します。
· -パスワード[=password], -NS[password]
サーバーに接続するときに使用するパスワード。 ショートオプションフォームを使用する場合
(-p)、 君は オプションとパスワードの間にスペースを入れてください。 省略した場合
password 次の値 - パスワード or -p コマンドラインのオプション、 mysqlslap
XNUMXつのプロンプト。
コマンドラインでパスワードを指定することは安全ではないと見なされるべきです。 あなたが使用することができます
コマンドラインでパスワードを指定しないようにするためのオプションファイル。
· - パイプ, -W
Windowsでは、名前付きパイプを介してサーバーに接続します。 このオプションは、
サーバーは名前付きパイプ接続をサポートします。
· --plugin-dir =ディレクトリ名
クライアント側プラグインのディレクトリ。
· --port =ポート番号, -P ポート番号
接続に使用するTCP / IPポート番号。
· --ポストクエリ=値
テストの完了後に実行するステートメントを含むファイルまたは文字列。
この実行はタイミングの目的ではカウントされません。
· --ポストシステム=STR
テストの完了後に system() 経由で実行する文字列。 この処刑は、
タイミングの目的ではカウントされません。
· --pre-query=値
テストを実行する前に実行するステートメントを含むファイルまたは文字列。 これ
実行はタイミングの目的でカウントされません。
· --プレシステム=STR
テストを実行する前に system() 経由で実行する文字列。 この処刑はそうではありません
タイミングを計るためにカウントされます。
· --print-defaults
プログラム引数リストを出力して終了します。 これは最初の引数として指定する必要があります。
· -プロトコル= {TCP |ソケット|パイプ|メモリ}
サーバーへの接続に使用する接続プロトコル。 これは、
他の接続パラメータは通常、プロトコル以外のプロトコルが使用される原因になります。
あなたが欲しいもの。
· --クエリ=値, -q 値
データの取得に使用する SELECT ステートメントを含むファイルまたは文字列。
· --shared-memory-base-name =名
Windows では、共有メモリ経由での接続に使用する共有メモリ名。
ローカルサーバー。 このオプションは、サーバーが共有メモリをサポートしている場合にのみ適用されます。
接続。
· - 静けさ, -s
サイレントモード。 出力はありません。
· -ソケット=path, -S path
localhostへの接続の場合、使用するUnixソケットファイル、またはWindowsの場合は
使用する名前付きパイプ。
· --ssl
接続に対してSSLを有効にします(他のフラグで自動的に有効になります)。 で無効にする
-スキップ-ssl.
· --ssl-ca =名
PEM形式のCAファイル(OpenSSLドキュメントを確認してください。 --ssl).
· --ssl-capath =名
CAディレクトリ(OpenSSLドキュメントを確認してください。 --ssl).
· --ssl-cert =名
PEM形式のX509証明書(OpenSSLドキュメントを確認してください。 --ssl).
· --ssl-cipher =名
使用するSSL暗号(OpenSSLドキュメントを確認してください。 --ssl).
· --ssl-key =名
PEM形式のX509キー(OpenSSLドキュメントを確認してください。 --ssl).
· --ssl-crl =名
証明書失効リスト(OpenSSLドキュメントを確認してください。 --ssl).
· --ssl-crlpath =名
証明書失効リストのパス(OpenSSLドキュメントを確認してください。 --ssl).
· --ssl-verify-server-cert
接続時に使用されるホスト名に対して、証明書内のサーバーの「共通名」を確認します。 この
オプションはデフォルトで無効になっています。
· --user =USER_NAME, -u USER_NAME
サーバーに接続するときに使用するMariaDBユーザー名。
· -詳細, -v
詳細モード。 プログラムの動作に関する詳細情報を出力します。 このオプションは次のとおりです
情報量を増やすために複数回使用されます。
· - バージョン, -V
バージョン情報を表示して終了します。
COPYRIGHT
Copyright 2007-2008 MySQL AB、2008-2010 Sun Microsystems、Inc.、2010-2015 MariaDB
Foundation
このドキュメントはフリーソフトウェアです。 あなたはそれを再配布および/またはそれを変更することができます
Free SoftwareFoundationによって発行されたGNUGeneral PublicLicenseの条件。
ライセンスのバージョン2。
このドキュメントは、役立つことを期待して配布されていますが、何もありません
保証; 商品性または特定の適合性の黙示の保証もありません
目的。 詳細については、GNU General PublicLicenseを参照してください。
プログラムと一緒にGNUGeneral PublicLicenseのコピーを受け取っているはずです。
そうでない場合は、Free Software Foundation、Inc.、51 Franklin Street、Fifth Floor、
ボストン、マサチューセッツ02110-1301米国または参照 http://www.gnu.org/licenses/.
onworks.net サービスを使用してオンラインで mysqlslap を使用する