[Ceph]メッセンジャーモジュールceph_perf_msgr_server / ceph_perf_msgr_clientのベンチマークツール

CEPH_PERF_MSGR


ceph_perf_msgrは、Messengerモジュールのベンチマークにのみ使用され、Messengerモジュールのボトルネックまたは時間のかかるものを見つけるのに役立ちます。「iperf」と同様に、最初にサーバー側プログラムを開始する必要があります。

サーバ
 

#。/ ceph_perf_msgr_server 172.16.30.181:10001  1  0

 

./ceph_perf_msgr_server [bind ip:port] [サーバーワーカースレッド] [thinktime us]

[bind ip:port]バインドするip:portペア、クライアントは接続するためにこのペアを指定する必要があります
[サーバーワーカースレッド]:スレッドは着信メッセージと応答を処理します(pgスレッドに一致)
[thinktime]:ディスパッチを行うときのスリープ時間(OSD.ccの高速ディスパッチロジックと一致します)

最初のパラメーター:ipポートペア、バインディングIP:バインディングポート番号。

2番目のパラメーター:サーバースレッドの数

3番目のパラメーター:ディスパッチが各メッセージをディスパッチするのにかかる時間をシミュレートします(「思考時間」(think_time)-コード内:usleep(think_time);)。Giantの後、CEPH_OSD_OPメッセージ(つまり、実際のクライアントの読み取り/書き込みio要求)は、パフォーマンスを向上させるためにディスパッチャーにキューイングすることなく、迅速にディスパッチされます。したがって、CEPH_OSD_OPメッセージはインラインで処理され、「インラインプロセス」をシミュレートするプロセスは「思考時間」を使用します。

void MessengerClient::ClientDispatcher::ms_fast_dispatch(Message *m) {
  usleep(think_time);
  m->put();
  std::lock_guard l{thread->lock};
  thread->inflight--;
  thread->cond.notify_all();
}

クライアント

#。/ ceph_perf_msgr_client  172.16.30.181:10001  1   32   10000   10   4096

最初のパラメーター:サーバーIP:ポート

2番目のパラメーター:クライアントスレッド

3番目のパラメーター:同時実行性(クライアントスレッドごとに送信されるメッセージ最大数

4番目のパラメーター:各クライアントスレッドによって開始されたIO

5番目のパラメーター:メッセージを受信したときクライアントスレッドの「思考時間」。これは、クライアントの迅速な割り当てプロセスをシミュレートするためにも使用されます。

最後のパラメータ:メッセージデータの長さ

オリジナル:http //docs.ceph.org.cn/dev/messenger/?highlight = ceph_perf_msgr_server

おすすめ

転載: blog.csdn.net/bandaoyu/article/details/114292690