diff --git a/doc/dev/messenger.rst b/doc/dev/messenger.rst index 7295389136ef5..a4eb18fe14524 100644 --- a/doc/dev/messenger.rst +++ b/doc/dev/messenger.rst @@ -9,14 +9,17 @@ ceph_perf_msgr ============== ceph_perf_msgr is used to do benchmark for messenger module only and can help -to find the bottleneck or time consuming within messenger moduleIt just like +to find the bottleneck(性能瓶颈) or time consuming(耗时分析) within messenger moduleIt just like "iperf", we need to start server-side program firstly: - + + 线程数 故意延迟微秒 +# ./ceph_perf_msgr_server 172.16.30.181:10001 1 0 # ./ceph_perf_msgr_server 172.16.30.181:10001 1 0 -The first argument is ip:port pair which is telling the destination address the -client need to specified. The second argument configures the server threads. The -third argument tells the "think time"(us) when dispatching messages. After Giant, +1. The first argument is ip:port pair which is telling the destination address the +client need to specified. +2. The second argument configures the server threads. The +3. third argument tells the "think time"(us) when dispatching messages. After Giant, CEPH_OSD_OP message which is the actual client read/write io request is fast dispatched without queueing to Dispatcher, in order to achieve better performance. So CEPH_OSD_OP message will be processed inline, "think time" is used by mock @@ -24,10 +27,10 @@ this "inline process" process. # ./ceph_perf_msgr_client 172.16.30.181:10001 1 32 10000 10 4096 -The first argument is specified the server ip:port, and the second argument is -used to specify client threads. The third argument specify the concurrency(the -max inflight messages for each client thread), the fourth argument specify the -io numbers will be issued to server per client thread. The fifth argument is -used to indicate the "think time" for client thread when receiving messages, -this is also used to mock the client fast dispatch process. The last argument -specify the message data length to issue. +1. The first argument is specified the server ip:port, +2. and the second argument is used to specify client threads. +3. The third argument specify the concurrency(the max inflight messages for each client thread), +4. the fourth argument specify the io numbers will be issued to server per client thread. +5. The fifth argument is used to indicate the "think time" for client thread when receiving messages, +this is also used to mock the client fast dispatch process. +6. The last argument specify the message data length to issue. diff --git a/perf/gdb_c.sh b/perf/gdb_c.sh new file mode 100644 index 0000000000000..5400a39397c6b --- /dev/null +++ b/perf/gdb_c.sh @@ -0,0 +1,2 @@ +date +gdb --args ceph_perf_msgr_client 10.132.33.30:10001 1 1 1 4096 diff --git a/perf/gdb_s.sh b/perf/gdb_s.sh new file mode 100644 index 0000000000000..678caf8ab2918 --- /dev/null +++ b/perf/gdb_s.sh @@ -0,0 +1,2 @@ +date +gdb --args ceph_perf_msgr_server 10.132.33.30:10001 1 0 diff --git a/readme b/readme index cc606cfd26f7b..8ffb39388a29c 100644 --- a/readme +++ b/readme @@ -1,6 +1,7 @@ 基准测试: https://blog.csdn.net/bandaoyu/article/details/114292690 使用命令patchelf 修改工具依赖的动态库位置。避免和项目正在使用的库冲突: https://blog.csdn.net/bandaoyu/article/details/113181179 +doc/dev/messenger.rst perf_msgr_client.cc -> ceph_perf_msgr_client perf_msgr_server.cc -> ceph_perf_msgr_server diff --git a/rsync.sh b/rsync.sh new file mode 100644 index 0000000000000..499e03021e4cf --- /dev/null +++ b/rsync.sh @@ -0,0 +1 @@ +rsync -rucalpvz --exclude 'build/dev' . root@c61:/root/project/stor/ceph/xb/ceph/