]> git.proxmox.com Git - ceph.git/blob - ceph/doc/dev/messenger.rst
update ceph source to reef 18.2.1
[ceph.git] / ceph / doc / dev / messenger.rst
1 ============================
2 Messenger notes
3 ============================
4
5 Messenger is the Ceph network layer implementation. Currently Ceph supports
6 one messenger type: "async".
7
8 ceph_perf_msgr
9 ==============
10
11 ceph_perf_msgr is used to do benchmark for messenger module only and can help
12 to find the bottleneck or time consuming within messenger moduleIt just like
13 "iperf", we need to start server-side program firstly:
14
15 # ./ceph_perf_msgr_server 172.16.30.181:10001 1 0
16
17 The first argument is ip:port pair which is telling the destination address the
18 client need to specified. The second argument configures the server threads. The
19 third argument tells the "think time"(us) when dispatching messages. After Giant,
20 CEPH_OSD_OP message which is the actual client read/write io request is fast
21 dispatched without queueing to Dispatcher, in order to achieve better performance.
22 So CEPH_OSD_OP message will be processed inline, "think time" is used by mock
23 this "inline process" process.
24
25 # ./ceph_perf_msgr_client 172.16.30.181:10001 1 32 10000 10 4096
26
27 The first argument is specified the server ip:port, and the second argument is
28 used to specify client threads. The third argument specify the concurrency(the
29 max inflight messages for each client thread), the fourth argument specify the
30 io numbers will be issued to server per client thread. The fifth argument is
31 used to indicate the "think time" for client thread when receiving messages,
32 this is also used to mock the client fast dispatch process. The last argument
33 specify the message data length to issue.