Mqtt mosquitto linux connection limitation

How do users overcome the Linux connection limit of 1024 in connection with running MQTT for push notification?

I am using a Mosquitto server, which I think I read has no connection limit for 1024 built into the linux version. So, can I use one server (without a bridge, etc.) And get 5,000, 10,000 users?

Or do I need a bridge? I have not seen many letters about how this setting is, other than the configuration settings help page for mosquitto.

Or, can I get by just changing a few linux configuration settings, and am I good to go with one mosquitto server?

My application is more or less an instant messaging application, so I expect you to have ~ 10,000, or maybe even 20,000 people with constant 24/7 connections to mosquitoes to warn them about messages.

Hmmm

+8
android mqtt mosquitto
source share
3 answers

In theory, you could configure Linux to maximize the number of mosquito sockets before what you need. Then the question is about performance. The key indicator is the number of messages per second. If you have 20k clients connected, how many of them will be active and how many messages will be sent?

As an example, if half of your clients are active and sends 1 message per second, there is 10k msps - incoming only, of course. If each of these messages is 10 bytes, you will support 100 kB / s or 800 kbit / s.

Another aspect is how the hierarchy of topics is organized. I can’t tell you which is better, but it will certainly have an effect.

My best suggestion is to write a client that simulates a real person, and then use it for such a real test of your scenario.

I saw examples of an extreme number of clients: http://bit.ly/HytRpK , but does not have more detailed information.

One final point: IBM is currently releasing a redbook on MQTT. It should be available "in spring", that is, in the near future. I think this will affect scaling issues.

+8
source share

For the client, we tested IBM WebSphere MQ MQTT, increasing the number of concurrent client connections to 240,000 in the queue manager (MQ runtime, you may have a lot in the MQ cluster). I was told that this is something like 10x more than is reasonably handled by the Apache web server. The server processor during testing was low at <5%. It would increase the number of concurrent MQTT clients in excess of 240,000, but the client computers in the lab ran out of work. IBM MQ is the pub / sub provider built into the WebSphere Message Broker ESB, so I expect it to have the same result.

+5
source share

I do not know anyone who has performed volumetric testing of a mosquito to such a number of compounds. I suppose that one thing you could do is check the mosquito instance for the selected runtime and connect a lot of client threads to it during system testing.

It has been shown that deploying IBM using WebSphere MQ as an MQTT broker supports up to 100,000 concurrent connections. I believe that IBM's free RSMB broker is limited to 1024 connections.

Perhaps you should think about how to scale your broker using bridges and a collateral service to find out which broker should connect new users.

+3
source share

All Articles