英語フランス語スペイン語

Ad


OnWorksファビコン

memcaslap - クラウドでオンライン

Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーター上の OnWorks 無料ホスティング プロバイダーで memcaslap を実行します。

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド memcaslap です。

プログラム:

NAME


memaslap - libmemcached ドキュメント

SYNOPSIS


メマスラップ[オプション]

- 助けて

MEMCACHED_SERVERS

DESCRIPTION


メスラップ memcached サーバー用の負荷生成およびベンチマーク ツールです。 それは生成します
スレッド、同時実行、接続、ランタイム、上書きなどの構成可能なワークロード
ミス率、キーのサイズ、値のサイズ、取得/設定の割合、予想されるスループットなど。
さらに、データ検証、有効期限検証、UDP、バイナリもテストします。
プロトコル、Facebook テスト、レプリケーション テスト、マルチゲットと再接続など。

Memaslap は、libevent を使用した memcached と同様にネットワーク接続を管理します。 メマスラップの各スレッド
CPU コアにバインドされており、すべてのスレッドは相互に通信せず、
各スレッドでの複数のソケット接続。 各接続ではキー サイズの分散が維持され、
値のサイズの分散、およびコマンド自体の分散。

サーバーを指定するには、 メムスラップ --サーバー オプションまたは環境変数経由
MEMCACHED_SERVERS.

商品特徴


Memslap は次の目的のために開発されました。

libevent とのネットワーク接続を非同期的に管理します。

ノンブロッキング IO を使用するように TCP と UDP の両方を設定します。

並列処理が向上し、マルチスレッド環境でのパフォーマンスが向上します。

時間効率の向上: 処理速度が速くなります。

キーと値をより効率的に生成します。 キーサイズの分布と値のサイズ
配布は構成可能です。

get、multi-get、set コマンドをサポートします。 コマンドの配布は設定可能です。

制御可能なミス率と上書き率をサポートします。

データと有効期限の検証をサポートします。

統計情報の定期的なダンプをサポートします。

数千の TCP 接続をサポートします。

バイナリプロトコルをサポートします。

Facebookテスト(TCPで設定、UDPでマルチ取得)、レプリケーションテストをサポートします。

詳細


効果的な 実装 of ネットワーク。
memaslap の場合、TCP と UDP は両方ともノンブロッキング ネットワーク IO を使用します。 すべてのネットワーク イベントは、
libevent によって memcached として管理されます。 memaslap のネットワーク モジュールは memcached に似ています。
Libevent は、memaslap がネットワークを非常に効率的に処理できることを保証します。

効果的な 実装 of マルチスレッド & 並行性
Memslap には、memcached と同様のマルチスレッドの実装があります。 Memslap が作成します
またはより多くの自己管理スレッド。 システムがテストする場合、各スレッドは XNUMX つの CPU コアにバインドされます。
CPUコアアフィニティの設定。

さらに、各スレッドにはネットワークのイベントを管理するための libevent があります。 各スレッド
XNUMX つ以上の自己管理型同時実行が存在します。 各同時実行には XNUMX つ以上のソケットがあります
接続。 すべての同時実行は、たとえ相互に通信しません。
同じスレッドで。

Memslap は数千のソケット接続を作成でき、各同時実行では数十のソケット接続が可能です。
ソケット接続。 同時実行ごとにランダムまたは順次に XNUMX つのソケットが選択されます
ソケット接続プールからの接続を実行するため、memaslap は各同時実行性を確保できます。
常に XNUMX つのソケット接続を処理します。 ユーザーは数を指定できます
同時実行数と、期待される各同時実行のソケット接続
ワークロード。

効果的な 実装 of 生成 キー &
時間効率とスペース効率を向上させるために、memaslap はランダムな
10 万文字の文字テーブル。 キーと値のすべてのサフィックスが生成されます
このランダムな文字テーブルから。

Memslap は、文字テーブル内のオフセットと文字列の長さを使用して、文字列を識別します。
弦。 メモリを大幅に節約できます。 各キーには、プレフィックスとサフィックスの XNUMX つの部分が含まれています。 の
プレフィックスは uint64_t、8 バイトです。 以前のデータセットを検証するには、memaslap が次のことを行う必要があります。
各キーが一意であることを確認するため、プレフィックスを使用してキーを識別します。 プレフィックスは使用できません
「r」、「n」、「0」、「 」などの不正な文字が含まれています。 そしてmemaslapにはアルゴリズムがあります
それを確保するために。

Memslap は、最初にすべてのオブジェクト (キーと値のペア) を生成しません。 それだけ
それぞれのタスク ウィンドウを満たすのに十分なオブジェクト (デフォルトは 10K オブジェクト) を生成します。
同時並行性。 各オブジェクトには次の基本情報、キープレフィックス、キーサフィックスがあります。
文字テーブル内のオフセット、キーの長さ、文字テーブル内の値のオフセット、および値
長さ

作業プロセスでは、各同時実行によりオブジェクトが順番にまたはランダムに選択されます。
set 操作または get 操作を行うためのウィンドウ。 同時に、各同時実行が開始されます。
オブジェクトをウィンドウの外に出し、そこに新しいオブジェクトを追加します。

簡単な拡張で 焙煎が極度に未発達や過発達のコーヒーにて、クロロゲン酸の味わいへの影響は強くなり、金属を思わせる味わいと乾いたマウスフィールを感じさせます。 便利 タスク スケジューリング
Memslap は、libevent を使用して、スレッドのすべての同時実行と各同時実行をスケジュールします。
ローカル タスク ウィンドウに基づいてタスクをスケジュールします。 Memslap は、各同時実行性が次のとおりであると仮定します。
同じキーの配布、値の配布、コマンドの配布を維持します。
外側では、memaslap がすべてのディストリビューションを全体として保持します。 各タスクウィンドウには多くのものが含まれています
オブジェクトの場合、各オブジェクトにはキー、値、有効期限などの基本情報が保存されます。
すぐ。 ウィンドウ内のすべてのオブジェクトはいつでも同じ固定キーと値を保持します。
分布。 オブジェクトが上書きされると、オブジェクトの値が更新されます。
Memslap は、ファイルに保存されているオブジェクト情報に従ってデータまたは有効期限を検証します。
タスクウィンドウ。

Libevent は、特定のネットワーク イベントに基づいて、どの同時実行性を処理するかを選択します。 そうして
同時実行性は、コマンドに基づいて操作するコマンド (get または set) を選択します。
分布。 古いオブジェクトを追い出し、新しいオブジェクトを追加する必要がある場合は、
同じキーと値の分布を使用する場合、新しいオブジェクトは同じキーの長さを持つ必要があり、
値の長さ。

memcached サーバーに XNUMX つのキャッシュ層 (メモリと SSD) がある場合、異なるキャッシュ層で memaslap を実行します。
ウィンドウ サイズによってキャッシュ ミス率が異なる場合があります。 memaslap が十分なオブジェクトを
最初はウィンドウがあり、memcached のキャッシュにはすべてのオブジェクトを保存できません
初期化されると、memaslap は XNUMX 番目のキャッシュ層から​​いくつかのオブジェクトを取得します。 それは原因となります
最初にミスしたキャッシュ層。 したがって、ユーザーはウィンドウ サイズを指定して期待どおりの結果を得ることができます。
最初のキャッシュ層のミス率。

有用 実装 of マルチサーバー , UDP、 TCP、 マルチゲット & バイナリ
各スレッドは自己管理されるため、memaslap は処理するために異なるスレッドを割り当てることができます。
異なる memcached サーバー。 これは、memaslap が複数のテストを行う方法の XNUMX つにすぎません。
サーバー。 唯一の制限は、サーバーの数がこの制限を超えることができないことです。
スレッドの数。 複数のサーバーをテストするもう XNUMX つの方法は、レプリケーション テストです。 各
同時実行には、各 memcached サーバーへの XNUMX つのソケット接続があります。 実装にあたっては、
memaslap は、いくつかのオブジェクトを XNUMX つの memcached サーバーに設定し、これらのオブジェクトを
他のサーバー。

デフォルトでは、Memslap は単一の get を実行します。 ユーザーが multi-get オプションを指定した場合、memaslap は
十分な get コマンドを収集し、コマンドをまとめてパックして送信します。

Memslap は ASCII プロトコルとバイナリ プロトコルの両方をテストしますが、ASCII プロトコルで実行されます。
デフォルトのプロトコル。 Memslap はデフォルトで TCP プロトコルで実行されますが、UDP もテストします。
UDP は信頼性が低いため、パッケージのドロップや順序が狂う可能性があります。 メムスラップ
これらの問題を処理するためにメモリ バッファを作成します。 Memslap はすべての応答を読み取ろうとします
サーバーからの XNUMX つのコマンドのデータを取得し、応答データを並べ替えます。 いくつかのパッケージが取得された場合
失われた場合、待機タイムアウトメカニズムにより、中途半端なパッケージが確実に破棄され、
次のコマンドが送信されます。

USAGE


以下にいくつかの使用例を示します。

メマスラップ -s 127.0.0.1:11211 -S 5s

メマスラップ -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b

memaslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2

memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k

memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2

memaslap を実行するには、ユーザーは少なくとも XNUMX つのサーバーを指定する必要があります。 残りのパラメータには、
以下に示すデフォルト値:

スレッド数 = 1 同時実行数 = 16

実行時間 = 600 秒 構成ファイル = NULL

キーのサイズ = 64 値のサイズ = 1024

取得/設定 = 9:1 ウィンドウ サイズ = 10k

実行回数 = 0 単一取得 = true

Multi-get = false 各同時実行のソケット数 = 1

再接続 = false データ検証 = false

有効期限検証 = false ASCII プロトコル = true

バイナリプロトコル = false 統計情報のダンプ

定期的に = false

上書き比率 = 0% UDP = false

TCP = true スループットの制限 = false

Facebook テスト = false レプリケーション テスト = false

キー サイズ、 サイズ & command 配布。
すべてのディストリビューションは、ユーザーが指定した構成ファイルから読み取られます。
「-cfg_cmd」オプション。 ユーザーが構成ファイルを指定しない場合、memaslap が実行されます。
デフォルトの分布 (キー サイズ = 64、値サイズ = 1024、取得/設定 = 9:1) を使用します。 ために
設定ファイルの編集方法については、「設定ファイル」を参照してください。
のセクションから無料でダウンロードできます。

最小キー サイズは 16 バイトです。 キーの最大サイズは 250 バイトです。 の精度
割合は0.001です。 分配割合は小数点第3位を四捨五入して記載しております。

最小値のサイズは 1 バイトです。 最大値のサイズは 1M バイトです。 の精度
割合は0.001です。 分配割合は小数点第3位を四捨五入して記載しております。
現在、memaslap は set コマンドと get コマンドのみをテストします。 そして、100% セットと 100% 取得をテストします。
100% 取得の場合、いくつかのオブジェクトがサーバーにプリセットされます。

マルチスレッド & 並行性
memaslap の高いパフォーマンスは、スレッドと
同時並行性。 適切な数を指定することが重要です。 デフォルトの数は、
スレッドは 1 です。 デフォルトの同時実行数は 16 です。ユーザーは「-threads」と「-threads」を使用できます。
これらの変数を指定するには、「--concurrency」を使用します。

システムが CPU アフィニティとユーザーが指定したスレッド数の設定をテストする場合
が 1 より大きい場合、memaslap は各スレッドを異なる CPU コアにバインドしようとします。 それで、もし
最高のパフォーマンスのメマスラップを取得したい場合は、メマスラップの数を指定することをお勧めします。
CPU コアの数と同じスレッド。 ユーザーが指定したスレッド数は、
CPU コアの数よりも少ないか多い場合もあります。 という制限があるため、
実装では、同時実行数は次の数の倍数になる可能性があります。
スレッド。

1. 8 CPU コア システムの場合

例:

--threads=2 --concurrency=128

--threads=8 --concurrency=128

--threads=8 --concurrency=256

--threads=12 --concurrency=144

2. 16 CPU コア システムの場合

例:

--threads=8 --concurrency=128

--threads=16 --concurrency=256

--threads=16 --concurrency=512

--threads=24 --concurrency=288

memaslap は、memcached サーバーのパフォーマンスをテストするために使用すると、非常に優れたパフォーマンスを発揮します。
ほとんどの場合、ボトルネックはネットワークまたはサーバーです。 何らかの理由でユーザーが
memaslap のパフォーマンスを制限したい場合、これを行うには XNUMX つの方法があります。

スレッド数と同時実行数を減らします。 memaslap オプション「--tps」を使用します
スループットを制限するために提供されます。 このオプションを使用すると、ユーザーは期待どおりの結果を得ることができます
スループット。 たとえば、特定のシステムの最大スループットが 50 kops/s であると仮定します。
構成では、最大スループット以下のスループットを指定できます。
「--tps」オプションを使用します。

ウィンドウ サイズ
ほとんどの場合、ユーザーはウィンドウ サイズを指定する必要はありません。 デフォルトのウィンドウ
サイズは10kです。 Schooner Memcached の場合、ユーザーはさまざまなウィンドウ サイズを指定して取得できます。
テストケースに基づいてキャッシュミス率が異なります。 Memslap は次のキャッシュ ミス率をテストします。
0% と 100%。 このユーティリティを使用して Schooner Memcached のパフォーマンスをテストすると、
適切なウィンドウ サイズを指定して、予想されるキャッシュ ミス率を取得できます。 の式は、
ウィンドウ サイズの計算は次のようになります。

キーのサイズが 128 バイト、値のサイズが 2048 バイトであると仮定します。
同時実行数 = 128。

1. 小さいキャッシュ、cache_size=1M、100% キャッシュ ミス (すべてのデータは SSD から取得)。 win_size=10k

2.cache_size=4G

(1)。 キャッシュミス率0%

win_size=8k

(2)。 キャッシュミス率5%

win_size=11k

3.cache_size=16G

(1)。 キャッシュミス率0%

win_size=32k

(2)。 キャッシュミス

率5%

win_size=46k

キャッシュ ミス率 0% のウィンドウ サイズを計算する式は次のとおりです。

キャッシュ サイズ / 同時実行数 / (キー サイズ + 値サイズ) * 0.5

キャッシュ ミス率 5% のウィンドウ サイズを計算する式は次のとおりです。

キャッシュ サイズ / 同時実行数 / (キー サイズ + 値サイズ) * 0.7

Verification
Memslap は、データ検証と有効期限検証の両方をテストします。 ユーザーが使用できるのは、
「--verify=」または「-v」でデータ検証の割合を指定します。 理論的には、それはテストします
100% データ検証。 ユーザーは「--exp_verify=」または「-e」を使用して比率を指定できます。
有効期限の検証。 理論的には、100% の有効期限検証をテストします。 特定
より詳細なエラー情報を取得するには、「--verbose」オプションを使用します。

例: --exp_verify=0.01 –verify=0.1 、これはオブジェクトの 1% が
有効期限が過ぎると、取得されたオブジェクトの 10% が検証されます。 オブジェクトを取得すると、
memaslap は有効期限と値を検証します。

マルチサーバー & マルチ構成
Memslap は自己管理スレッドに基づいてマルチサーバーをテストします。 という制限があります
サーバーの数はスレッドの数より大きくすることはできません。 Memslap が XNUMX つを割り当てます
少なくとも XNUMX つのサーバーを処理するスレッド。 ユーザーは、「--servers=」または「-s」オプションを使用して、
マルチサーバーを指定します。

例:

--servers=10.1.1.1:11211,10.1.1.2:11212,10.1.1.3:11213 --threads=6 --concurrency=36

上記のコマンドは、6 つのスレッドがあり、各スレッドが 6 つの同時実行性を持つことを意味します。
そしてスレッド 0 と 3 がサーバー 0 (10.1.1.1) を処理します。 スレッド 1 と 4 はサーバー 1 を処理します
(10.1.1.2); スレッド 2 と 5 はサーバー 2 (10.1.1.3) を処理します。

memaslap のすべてのスレッドと同時実行は自己管理されます。

メマスラップもそうだ。 ユーザーは複数の memaslap インスタンスを起動できます。 ユーザーは実行できます
異なるクライアント マシン上で memaslap を使用して、同じ memcached サーバーと通信します。
同じ。 ユーザーは、次を使用して異なるマシン上で異なる memaslap を開始することをお勧めします。
同じ構成。

ラン   実行します モード or 時間 モード
デフォルトの memaslap は時間モードで実行されます。 デフォルトの実行時間は 10 分です。 タイミングが合えば
アウト、メマスラップは終了します。 実行回数モードと時刻モードを同時に指定しないでください。
時間; 代わりに XNUMX つを指定してください。

例:

--time=30s (テストが 30 秒間実行されることを意味します。)

--execute_number=100000 (100000 個のコマンドを実行した後にテストが終了することを意味します。)

ダンプ 統計値 情報 定期的に。
ユーザーは「--stat_freq=」または「-S」を使用して周波数を指定できます。

例:

--stat_freq=20秒

Memslap は、コマンド (get および set) の統計を毎回の頻度でダンプします。
20秒。

ダンプ統計情報の形式の詳細については、「ダンプ統計情報の形式」を参照してください。
「出力」セクション。

マルチゲット
ユーザーは、「--division=」または「-d」を使用して、複数のキーの取得数を指定できます。 メムスラップ
デフォルトでは TCP で単一の get を実行します。 Memslap はデータ検証と有効期限もテストします
マルチゲットの検証。

Memslap は、TCP と UDP の両方を使用してマルチゲットをテストします。 実装が異なるため、
ASCII プロトコルとバイナリ プロトコルには、いくつかの違いがあります。 ために
ASCII プロトコルでは、memaslap は XNUMX つの「multi-get」をサーバーに XNUMX 回送信します。 バイナリの場合
memaslap プロトコルでは、memaslap は複数の単一 get コマンドをまとめて「multi-get」として
サーバー。

UDP & TCP
Memslap は UDP と TCP の両方をテストします。 TCP の場合、memaslap は memcached サーバーに再接続しません
ソケット接続が失われた場合。 すべてのソケット接続が失われた場合、または memcached サーバーが失われた場合
クラッシュすると、memaslap が終了します。 ユーザーがソケット接続時に「--reconnect」オプションを指定した場合
接続が失われた場合は、再接続されます。

ユーザーは「--udp」を使用して UDP 機能を有効にできますが、UDP にはいくつかの制限があります。

UDPでは1400バイトを超えるデータは設定できません。

memcached のバイナリ プロトコルはテストするため、UDP はバイナリ プロトコルではテストされません。
それをテストするわけではありません。

UDP は再接続をテストしません。

Facebook test
TCPでデータを設定し、UDPでマルチ取得します。 次のオプションを指定します。

"--facebook --division=50"

数千の TCP 接続を作成する場合は、

「--conn_sock=」オプション。

例: --facebook --division=50 --conn_sock=200

上記のコマンドは、memaslap が Facebook テストを実行することを意味し、各同時実行数は 200 です。
ソケット TCP 接続と XNUMX つの UDP ソケット。

Memslap は TCP ソケットでオブジェクトを設定し、UDP で 50 個のオブジェクトを XNUMX 回マルチ取得します
ソケット。

「--division=50」を指定する場合、UDP はキー サイズを 25 バイト未満にする必要があります。
パケットサイズは1400バイトです。

Replication test
レプリケーション テストの場合、ユーザーは少なくとも XNUMX つの memcached サーバーを指定する必要があります。 ユーザーができることは、
機能を有効にするには、「-rep_write=」オプションを使用します。

例:

--servers=10.1.1.1:11211,10.1.1.2:11212 –rep_write=2

上記のコマンドは、2 つのレプリケーション memcached サーバーがあることを意味し、memaslap は
オブジェクトをサーバー 0 とサーバー 1 の両方に送信し、以前にサーバー 0 に設定されていたオブジェクトを取得します。
サーバー 1 に設定されているオブジェクトをサーバー 1 から取得します。サーバー 0 の場合
クラッシュすると、memaslap はサーバー 1 からのみオブジェクトを取得します。サーバー 0 が復活した場合
再度、memaslap はサーバー 0 に再接続します。サーバー 0 とサーバー 1 の両方がクラッシュした場合、memaslap はサーバー XNUMX に再接続します。
終了します。

サポート 数千 of TCP 接続
この機能を有効にするには、「--conn_sock=」または「-n」を使用して memaslap を起動します。 必ず、
システムは、数千のファイルを開いたり、数千のソケットを作成したりすることをテストできます。 しかし、
この機能は、ソケットが切断された場合の再接続をテストしません。

例:

--threads=8 --concurrency=128 --conn_sock=128

上記のコマンドは、memaslap が 8 つのスレッドを起動し、各スレッドには 16 のスレッドがあることを意味します。
同時実行では、各同時実行には 128 個の TCP ソケット接続があり、合計数は
TCP ソケット接続数は 128 * 128 = 16384 です。

サポート バイナリ
この機能を有効にするには、「--binary」または「-B」オプションを指定して memaslap を起動します。 すべてをテストします
最新の memcached 1.3.3 はバイナリを実装していないため、UDP を除く上記の機能
UDPプロトコル。

例:

- バイナリ

memcached 1.3.3 はバイナリ UDP プロトコルを実装していないため、memaslap は UDP をテストしません。
さらに、memcached 1.3.3 は multi-get をテストしません。 「--division=50」を指定した場合
オプションを使用すると、50 個の get コマンドをまとめて「mulit-get」としてサーバーに送信するだけです。

CONFIGURATION FILE


このセクションでは、設定ファイルの形式について説明します。 「いいえ」の場合のデフォルトでは
設定ファイルが指定されている場合、memaslap は次の場所にあるデフォルトの設定ファイルを読み取ります。 ~/.memaslap.cnf.

以下は設定ファイルの例です。

-------------------------------------------------- -------------------------
#コメントは「#」で始まる必要があります
#鍵
#start_len end_len 比率
#
#key の長さの範囲は start_len から end_len までです
#start_len は 16 以上である必要があります
#end_len は 250 以下である必要があります
#start_len は end_len 以上である必要があります
#memaslap はキー範囲に従ってキーを生成します
#proportion: XNUMX つの範囲から生成されたキーが合計を占めることを示します
生成されたキー
#
#例1: キー範囲16~100が80%を占める
# キー範囲 101 ~ 200 が 10% を占める
# キー範囲 201 ~ 250 が 10% を占める
# 合計は 1 である必要があります (0.8+0.1+0.1 = 1)
#
#16 100 0.8
#101 200 0.1
#201 249 0.1
#
#例2: すべてのキーの長さは 128 バイトです
#
#128 128 1
キー
128 128 1
#価値
#start_len end_len 比率
#
#value の長さの範囲は start_len から end_len までです
#start_len は 1 以上である必要があります
#end_len は 1M 以下である必要があります
#start_len は end_len 以上である必要があります
#memaslap は値の範囲に従って値を生成します
#proportion: XNUMX つの範囲のアカウントから生成された値を示します。
生成された合計値
#
#例1: 値の範囲 1 ~ 1000 が 80% を占める
# 値の範囲 1001 ~ 10000 が 10% を占める
# 値の範囲 10001 ~ 100000 が 10% を占める
# 合計は 1 である必要があります (0.8+0.1+0.1 = 1)
#
#1 1000 0.8
#1001 10000 0.1
#10001 100000 0.1
#
#例2: すべての値の長さは 128 バイトです
#
#128 128 1

2048 2048 1
#cmd
#cmd_type cmd_proportion
#
#現時点では memaslap は get および set コマンドのみをテストします。
#
#cmd_type
#セット 0
#1を取得
#
#例: set コマンドが 50% を占める
# get コマンドが 50% を占める
# 合計は 1 である必要があります (0.5+0.5 = 1)
#
#cmd
#0 0.5
#1 0.5
CMD
0 0.1
1.0 0.9

FORMAT OF 出力


最初に、memaslap は次のようにいくつかの構成情報を表示します。

サーバー: 127.0.0.1:11211

スレッド数: 1

同時実行数: 16

実行時間: 20秒

ウィンドウサイズ: 10k

割合を設定: set_prop=0.10

比率の取得: get_prop=0.90

場所
サーバー : "サーバー"
memaslap が使用するサーバー。

スレッド数
memaslap を実行するスレッドの数。

並行性
memaslap を実行する同時実行の数。

実行時間
メマスラップを実行する時間。

窓のサイズ
各同時実行のタスク ウィンドウ サイズ。

割合を設定する
設定されたコマンドの割合。

比率を取得する
get コマンドの割合。

動的統計の出力は次のようになります。

-------------------------------------------------- -------------------------------------------------- -----------------------------
統計の取得
タイプ 時間(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us)
平均(us) Std_dev Geo_dist
期間 5 345826 69165 65.3 0 27 2198 203
95.43 177.29
グローバル 20 1257935 62896 71.8 0 26 3791 224
117.79 192.60

統計の設定
タイプ 時間(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us)
平均(us) Std_dev Geo_dist
期間 5 38425 7685 7.3 0 42 628 240
88.05 220.21
グローバル 20 139780 6989 8.0 0 37 3790 253
117.93 224.83

総統計
タイプ 時間(s) Ops TPS(ops/s) Net(M/s) Get_miss Min(us) Max(us)
平均(us) Std_dev Geo_dist
期間 5 384252 76850 72.5 0 27 2198 207
94.72 181.18
グローバル 20 1397720 69886 79.7 0 26 3791 227
117.93 195.60
-------------------------------------------------- -------------------------------------------------- -----------------------------

場所
統計の取得
getコマンドの統計情報

統計の設定
setコマンドの統計情報

総統計
getコマンドとsetコマンドの両方の統計情報

周期
期間内の結果

グローバル
蓄積された結果

オプス
トータルオペレーション

TPS
スループット、オペレーション/秒

ネット
ネットワークの速度

ゲットミス
取得できないオブジェクトの数

最小値
最小応答時間

最大値
最大応答時間

平均:
平均応答時間

標準偏差
応答時間の標準偏差

地理的距離
自然指数関数に基づく幾何分布

最後に、memaslap は次のような出力を行います。

-------------------------------------------------- -------------------------------------------------- -----------------------------
統計情報の取得 (1257956 イベント)
最小:26
最大:3791
平均: 224
地理: 192.60
標準: 116.23
Log2 距離:
4: 0 10 84490 215345
8: 484890 459823 12543 824
12:31

統計の設定 (139782 イベント)
最小:37
最大:3790
平均: 253
地理: 224.84
標準: 116.83
Log2 距離:
4: 0 0 4200 16988
8: 50784 65574 2064 167
12:5

合計統計 (1397738 イベント)
最小:26
最大:3791
平均: 227
地理: 195.60
標準: 116.60
Log2 距離:
4: 0 10 88690 232333
8: 535674 525397 14607 991
12:36

cmd_get: 1257969
cmd_set: 139785
取得ミス: 0
検証ミス: 0
検証失敗: 0
期限切れ_get: 0
unexpired_unget: 0
書き込みバイト数: 242516030
読み取りバイト数: 1003702556
オブジェクトバイト: 152086080
パケット障害: 0
パケットドロップ: 0
udp_timeout: 0

実行時間: 20.0 秒 Ops: 1397754 TPS: 69817 ネットレート: 59.4M/s
-------------------------------------------------- -------------------------------------------------- -----------------------------

場所
統計の取得
応答時間の統計を取得する

統計の設定
応答時間の統計を設定する

総統計
応答時間の統計の取得と設定の両方

最小値
累積応答時間と最小応答時間

最大値
累積および最大応答時間

平均
累積および平均応答時間

標準
応答時間の標準偏差

Log2 距離
対数 2 に基づく幾何分布

cmd_get
完了した取得コマンドの合計

cmd_set
完了したセットコマンドの合計

get_misses
サーバーから取得できないオブジェクトの数

検証ミス
検証する必要があるが取得できないオブジェクトの数

検証失敗
永続的な値を持つオブジェクトの数

期限切れ_get
有効期限が切れているが取得できるオブジェクトの数

unexpired_unget
有効期限が切れていないが取得できないオブジェクトの数

書かれた_バイト
合計書き込みバイト数

読み取りバイト数
合計読み取りバイト数

オブジェクトバイト
オブジェクトの合計バイト数

パケット障害
無秩序な UDP パッケージの数

パケットドロップ
失われた UDP パッケージの数

udp_timeout
UDP タイムアウトが発生した回数

実行時間
合計実行時間

オプス
トータルオペレーション

TPS
スループット、オペレーション/秒

ネットレート
ネットワークの平均速度

OPTIONS


-s、 --サーバー=
接続する XNUMX つ以上のサーバーをリストします。 サーバー数はスレッド数よりも少なくなければなりません。
例: --servers=localhost:1234,localhost:11211

-NS、 --threads =
起動するスレッドの数。CPU の数と同じであることが望ましい。 デフォルトは 8。

-NS、 --同時実行=
負荷をシミュレートする同時実行の数。 デフォルトは 128。

-NS、 --conn_sock=
同時実行ごとの TCP ソックスの数。 デフォルトは 1。

-NS、 --実行番号=
指定されたテストに対して実行する操作 (get および set) の数。 デフォルトは 1000000。

-NS、 --time =
テストの実行時間、サフィックス: s 秒、m 分、h 時間、d 日 例:
--時間=2時間。

-NS、 --cfg_cmd=
構成ファイルをロードして、コマンド、キー、および値の配布リストを取得します。

-w、 --win_size=
各同時実行のタスク ウィンドウ サイズ、サフィックス: K、M 例: --win_size=10k。 デフォルト
10k。

-NS、 --fixed_size=
値の固定長。

-v、 --verify=
日付検証の割合、例: --verify=0.01

-NS、 --部門=
一度に複数取得するキーの数。 デフォルトの 1 は、単一の取得を意味します。

-NS、 --stat_freq=
統計情報をダンプする頻度。 接尾辞: s 秒、m 分、例:
--resp_freq=10秒。

-e、 --exp_verify=
有効期限のあるオブジェクトの割合 (例: --exp_verify=0.01)。 デフォルトはいいえ
有効期限のあるオブジェクト

-o、 --上書き=
上書きが必要なオブジェクトの割合 (例: --overwrite=0.01)。 デフォルトはなし
オブジェクトを上書きします。

-R, -再接続
再接続テスト。接続が閉じられると、再接続されます。

-U, --udp
UDP テストでは、デフォルトの memaslap は TCP を使用します。サーバーの TCP ポートと UDP ポートは同じである必要があります。

-a, - フェイスブック
Facebook テスト機能を有効にするかどうか、TCP で設定、UDP でマルチ取得するかどうか。

-B, - バイナリ
バイナリプロトコルを有効にするかどうか。 デフォルトでは ASCII プロトコルが使用されます。

-NS、 -TPS =
予想されるスループット、サフィックス: K、例: --tps=10k。

-NS、 --rep_write=
最初の n 番目のサーバーはデータを書き込むことができます (例: --rep_write=2)。

-b, -詳細
検証失敗時に詳細情報を出力するかどうか。

-h, - 助けて
このメッセージを表示して終了します。

-V, - バージョン
アプリケーションのバージョンを表示して終了します。


メマスラップ -s 127.0.0.1:11211 -S 5s

メマスラップ -s 127.0.0.1:11211 -t 2m -v 0.2 -e 0.05 -b

memaslap -s 127.0.0.1:11211 -F config -t 2m -w 40k -S 20s -o 0.2

memaslap -s 127.0.0.1:11211 -F config -t 2m -T 4 -c 128 -d 20 -P 40k

memaslap -s 127.0.0.1:11211 -F config -t 2m -d 50 -a -n 40

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m

memaslap -s 127.0.0.1:11211,127.0.0.1:11212 -F config -t 2m -p 2

ホーム


詳細については、以下を確認してください。 http://libmemcached.org/

作者


荘明強[メール保護]> (スクーナーテクノロジー) ブライアン・エイカー、<‐
[メール保護]>

onworks.net サービスを使用してオンラインで memcaslap を使用する


無料のサーバーとワークステーション

Windows と Linux のアプリをダウンロード

Linuxコマンド

Ad