benchmark

This commit is contained in:
Feng Lee 2015-03-23 02:19:20 +08:00
parent 40b07c5e4c
commit 7e3ce51a0a
1 changed files with 27 additions and 18 deletions

View File

@ -1,15 +1,24 @@
# eMQTT [![Build Status](https://travis-ci.org/emqtt/emqttd.svg?branch=master)](https://travis-ci.org/emqtt/emqttd) # eMQTTD [![Build Status](https://travis-ci.org/emqtt/emqttd.svg?branch=master)](https://travis-ci.org/emqtt/emqttd)
eMQTT is a clusterable, massively scalable, fault-tolerant and extensible MQTT V3.1/V3.1.1 broker written in Erlang/OTP. eMQTTD is a clusterable, massively scalable, fault-tolerant and extensible MQTT V3.1/V3.1.1 broker written in Erlang/OTP.
eMQTT support MQTT V3.1/V3.1.1 Protocol Specification. eMQTTD support MQTT V3.1/V3.1.1 Protocol Specification.
eMQTTD requires Erlang R17+.
## Benchmark
Benchmark 0.5.4-alpha on a ubuntu/14.04 server with 8 cores, 32G memory from QingCloud:
200K Connections, 200K Topics, 20K Messages/sec, 20Mbps In/Out with 7G Memory, 40%CPU/core
eMQTT requires Erlang R17+.
## NOTICE ## NOTICE
eMQTTD still cannot not handle massive retained messages. eMQTTD still cannot not handle massive retained messages.
## Featues ## Featues
Full MQTT V3.1.1 Support Full MQTT V3.1.1 Support
@ -49,7 +58,7 @@ $ make && make dist
$ cd rel/emqtt $ cd rel/emqtt
$ ./bin/emqtt console $ ./bin/emqttd console
``` ```
## Deploy and Start ## Deploy and Start
@ -57,18 +66,18 @@ $ ./bin/emqtt console
### start ### start
``` ```
cp -R rel/emqtt $INSTALL_DIR cp -R rel/emqttd $INSTALL_DIR
cd $INSTALL_DIR/emqtt cd $INSTALL_DIR/emqttd
./bin/emqtt start ./bin/emqttd start
``` ```
### stop ### stop
``` ```
./bin/emqtt stop ./bin/emqttd stop
``` ```
@ -77,7 +86,7 @@ cd $INSTALL_DIR/emqtt
### etc/app.config ### etc/app.config
``` ```
{emqtt, [ {emqttd, [
{auth, {anonymous, []}}, %internal, anonymous {auth, {anonymous, []}}, %internal, anonymous
{listen, [ {listen, [
{mqtt, 1883, [ {mqtt, 1883, [
@ -104,7 +113,7 @@ cd $INSTALL_DIR/emqtt
``` ```
-name emqtt@127.0.0.1 -name emqttd@127.0.0.1
-setcookie emqtt -setcookie emqtt
@ -113,7 +122,7 @@ cd $INSTALL_DIR/emqtt
When nodes clustered, vm.args should be configured as below: When nodes clustered, vm.args should be configured as below:
``` ```
-name emqtt@host1 -name emqttd@host1
``` ```
## Cluster ## Cluster
@ -123,22 +132,22 @@ Suppose we cluster two nodes on 'host1', 'host2', Steps:
on 'host1': on 'host1':
``` ```
./bin/emqtt start ./bin/emqttd start
``` ```
on 'host2': on 'host2':
``` ```
./bin/emqtt start ./bin/emqttd start
./bin/emqtt_ctl cluster emqtt@host1 ./bin/emqttd_ctl cluster emqttd@host1
``` ```
Run './bin/emqtt_ctl cluster' on 'host1' or 'host2' to check cluster nodes. Run './bin/emqttd_ctl cluster' on 'host1' or 'host2' to check cluster nodes.
## HTTP API ## HTTP API
eMQTT support http to publish message. eMQTTD support http to publish message.
Example: Example:
@ -163,7 +172,7 @@ message | Message
## Design ## Design
[Design Wiki](https://github.com/emqtt/emqtt/wiki) [Design Wiki](https://github.com/emqtt/emqttd/wiki)
## License ## License