| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- 0.13.0 Benchmark (2015-11-08)
- =============================
- Benchmark with the [emqtt_benchmark](https://github.com/emqtt/emqtt_benchmark) tool.
- Server: 8 Core, 32G Memory CentOS6.
- etc/vm.args
- -----------
- ::
- ## max process numbers
- +P 1000000
- ## Sets the maximum number of simultaneously existing ports for this system
- +Q 409600
- ## max atom number
- ## +t
- ## Set the distribution buffer busy limit (dist_buf_busy_limit) in kilobytes.
- ## Valid range is 1-2097151. Default is 1024.
- ## +zdbbl 8192
- ##-------------------------------------------------------------------------
- ## Env
- ##-------------------------------------------------------------------------
- ## Increase number of concurrent ports/sockets, deprecated in R17
- -env ERL_MAX_PORTS 409600
- -env ERTS_MAX_PORTS 409600
- 250K Subscribers on five nodes
- ------------------------------
- Create 50K connections on each node and subscribe test/%i topics::
- ./emqtt_bench_sub -h server -p 1883 -c 50000 -i 5 -t test/%i -q 1
- Publish 4K msg/sec on server
- ------------------------------
- Publish qos1 messages at the rate of 4K(msg/sec) on the server::
- ./emqtt_bench_pub -h localhost -c 40 -i 10 -I 10 -t test/%i -q 1
- Each node will receive 4k msg/sec.
- Benchmark Result
- ----------------
- 250K Connections,
- 50K Topics,
- 250K Subscribers,
- 4K Qos1 Messages/Sec In,
- 20K Qos1 Messages/Sec Out,
- 12M+(bps) In, 56M+(bps) Out Traffic
- Consumed about 3.1G memory and 400+ CPU.
- ./bin/emqttd_ctl broker
- -----------------------
- sysdescr : Erlang MQTT Broker
- version : 0.13.0
- uptime : 20 minutes, 25 seconds
- datetime : 2015-11-08 10:38:30
- ./bin/emqttd_ctl broker stats
- -----------------------
- ```
- clients/count : 250040
- clients/max : 250040
- queues/count : 0
- queues/max : 0
- retained/count : 2
- retained/max : 2
- sessions/count : 0
- sessions/max : 0
- subscribers/count : 250000
- subscribers/max : 250000
- topics/count : 50050
- topics/max : 50050
- ```
- ./bin/emqttd_ctl listeners
- -----------------------
- ```
- listener on http:8083
- acceptors : 4
- max_clients : 64
- current_clients : 0
- shutdown_count : []
- listener on mqtts:8883
- acceptors : 4
- max_clients : 512
- current_clients : 0
- shutdown_count : []
- listener on mqtt:1883
- acceptors : 64
- max_clients : 1000000
- current_clients : 250040
- shutdown_count : []
- listener on http:18083
- acceptors : 4
- max_clients : 512
- current_clients : 0
- shutdown_count : []
- ```
- ./bin/emqttd_ctl vm
- -----------------------
- ```
- cpu/load1 : 13.44
- cpu/load5 : 10.43
- cpu/load15 : 5.98
- memory/total : 2710277048
- memory/processes : 1420519328
- memory/processes_used : 1419564424
- memory/system : 1289757720
- memory/atom : 512601
- memory/atom_used : 486464
- memory/binary : 380872488
- memory/code : 13077799
- memory/ets : 408483440
- process/limit : 1048576
- process/count : 500353
- io/max_fds : 500000
- io/active_fds : 75
- ```
- ./bin/emqttd_ctl recon node_stats
- ---------------------------------
- ```
- {[{process_count,500353},
- {run_queue,41},
- {error_logger_queue_len,0},
- {memory_total,2698242896},
- {memory_procs,1408734784},
- {memory_atoms,486706},
- {memory_bin,380825008},
- {memory_ets,408483456}],
- [{bytes_in,256851},
- {bytes_out,1202095},
- {gc_count,24423},
- {gc_words_reclaimed,4092612},
- {reductions,1850034},
- {scheduler_usage,[{1,0.46640942781698586},
- {2,0.5293768498814092},
- {3,0.441425019999723},
- {4,0.45550895378436373},
- {5,0.45318168320081786},
- {6,0.4627325387117833},
- {7,0.5144161001107628},
- {8,0.46406643808409137}]}]}
- ```
|