Skip to content

Commit

Permalink
ceph
Browse files Browse the repository at this point in the history
  • Loading branch information
ssbandjl committed Mar 30, 2023
1 parent 8c62978 commit 70b3d00
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 12 deletions.
27 changes: 15 additions & 12 deletions doc/dev/messenger.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,25 +9,28 @@ 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
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.
2 changes: 2 additions & 0 deletions perf/gdb_c.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
date
gdb --args ceph_perf_msgr_client 10.132.33.30:10001 1 1 1 4096
2 changes: 2 additions & 0 deletions perf/gdb_s.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
date
gdb --args ceph_perf_msgr_server 10.132.33.30:10001 1 0
1 change: 1 addition & 0 deletions readme
Original file line number Diff line number Diff line change
@@ -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

Expand Down
1 change: 1 addition & 0 deletions rsync.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
rsync -rucalpvz --exclude 'build/dev' . root@c61:/root/project/stor/ceph/xb/ceph/

0 comments on commit 70b3d00

Please sign in to comment.