- Wed Sep 20, 2017 10:55 am
#70155
Hello,
I have made a little test regarding the performance of the uMQTT_broker using the tool sdkperf. With this load generator, you can send a lot of pubs/subs.
Here are the parameters:
-cip Broker-Host-Address:Portnr
-cu User name
-cp User Password
-ptl Topic for Pubs
-mn Total number messages
-mr Number messages/sec
-msa Payload length
-stl Topic for Subs
And the command for 1000 msgs, 100 per sec, payload 20 char:
D:\MQTT\Tools\Sdkperf>sdkperf_mqtt.bat -cip=192.168.4.1:1883 -ptl=mytop
-mn=1000 -mr=100 -msa=20 -stl=mytop -l -lat
Output:
> Getting ready to init clients
Sep 20, 2017 5:18:20 PM com.solacesystems.pubsub.sdkperf.core.AbstractClientCollection connect
Information: Connecting all clients.
Sep 20, 2017 5:18:20 PM com.solacesystems.pubsub.sdkperf.core.AbstractClientCollection connect
Information: Router capabilities: Unavailable due to: null
> Adding subscriptions if required
> Getting ready to start clients.
> Starting publish.
PUB MR(5s)= 0, SUB MR(5s)= 0, CPU=0
PUB MR(5s)= 101, SUB MR(5s)= 101, CPU=0
PUB MR(5s)= 101, SUB MR(5s)= 101, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 99, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 99, SUB MR(5s)= 99, CPU=0
PUB MR(5s)= 100, SUB MR(5s)= 100, CPU=0
PUB MR(5s)= 94, SUB MR(5s)= 95, CPU=0
======>Main thread finish
> Running sdkperf shutdown...
Pausing -ped time to allow clients to finish recv messages (2000 ms)
-------------------------------------------------
Aggregate Stats (Total # clients: 1):
-------------------------------------------------
Total Messages transmitted = 1000
Computed publish rate (msg/sec) = 99.0
-------------------------------------------------
Total Messages received across all subscribers = 1000
Messages received with discard indication = 0
Computed subscriber rate (msg/sec across all subscribers) = 100
You can see, that the broker can handle at least 100 pubs/subs per second. There is
no much degradation, when the payload has been increased to 100 chars.
Very impressive for such a small device!!! Good for small and medium sized projects!
For comparison, my 3Ghz PC with Mosquitto handles around 10.000 messages/sec.
This test gives me a good feeling for my further developments.
Regards Walter