Tuğrul Kök <
tugr...@gmail.com> writes:
Thanks for explaining. In general, I think this sort of explanation
should come with requests for help, at least those that aren't
indirectly bug reports about documentation.
> I am a master of science student and doing a thesis related to
> migration of an MQTT Broker. I am actually interested in all of them.
> The size of the database is the most important for me. I want to know
> how much data I need to migrate. Size of RAM / Memory is also
> important for me, because I want to make sure that the new device,
> which MQTT Broker will be migrated to, has enough resources. So I am
> also interested in container size. But as far as I understand, Docker
> allocates a fixed size of container, the memory changes occur inside
> this allocated memory.
You'll have to first define what migrate means. It sounds like
transferring the state of a running broker to another computer, and that
raises issues about keeping TCP connections open or not.
Sometimes, brokers are configured to store topic/payload tuples on disk,
so that they can be reloaded if the machine reboots. This is likely
related.
You may need to implement a save/restore mechanism, and it may or may
not be the same as the persistent storage mechanism. If you want to
migrate across implementations that will have to be an
implementation-neutral format.
For sizing, I think you'll need to experiment with and perhaps also
analyze resource usage vs number of clients, number of topics, payload
size etc. You probably want a test client with controllable/repeatable
synthetic load.
As for docker, it's not clear to me why you are using containers, for
what is just a process, and whether you intend to have storage in some
other container. My not-really-thinking advice would be to simplify
everything you can as much as possible so you can concentrate on your
real problem.
I also have a reaction that for my use of mqtt, the broker process size
(mosquitto) is 31 MB, and the RSS is 5 MB, for a few dozen retained
topics with short payloads. You'll need to pump serious amounts of data
to determine the relationships.
> It is my first time to use mail groups, apologies for if I used it
> inappropriately. I couldn't find any documentation / paper related to
> my case. I chose to simulate some cases with different parameters and
> try to find a pattern for estimating. I wonder if there is a better
> way to do it.
It's not really so much about mail - that part was fine. It's more
that the people who get requests for help get them from all sorts of
places and contexts.