benchmark
This commit is contained in:
parent
40b07c5e4c
commit
7e3ce51a0a
45
README.md
45
README.md
|
@ -1,15 +1,24 @@
|
||||||
# eMQTT [](https://travis-ci.org/emqtt/emqttd)
|
# eMQTTD [](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
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue