Hi All,
Recently I observed that, on my test environment (AWS micro instance) some of the mosquitto brokers are consuming about more than 250 MB of memory.
I have done some analysis and found that it consumes more memory while publishing QoS 0 messages with log_type information.
Below are the results of analysis done on my local machine with a simple test case.
Platform: Linux Mint 17 Qiana
Mosquitto version: 1.3.1
Mqtt Client used: Paho APIs 1.0.1
Number of message published: 25000 X 5 (5 threads simultaneously publishing 25000 messages each, on the same broker, on the same topic)
Number of clients subscribed: 4
QoS | Log_Type | Memory | CPU % | Approx time for each thread to publish (millis) |
0 | Info | 42 MB | 84 | 5500 |
0 | Debug | 8.6 MB | 32 | 3300 |
1 | Info | 11.7 MB | 44 | 60000 |
1 | Debug | 6.2 MB | 40 | 105000 |
2 | Info | 1.6 MB | 8 | 430000 |
2 | Debug | 2.8 MB | 8 | 218000 |
It does not even release consumed memory after all published messages are received by the client.
So, I want to know if there is any way, I can publish QoS 0 messages with log level info, without consuming so much memory.
And is there any way to make broker, to release the consumed memory once all messages are received.
Note: retained parameter is false while publishing messages.
--
Thanks and Regards,Prashant Kedia
Co-Founder and Developer
Bizlers Technologies Pvt. Ltd.