We certainly try to keep overhead low especially in the case of memory since any extra work for the garbage collector hurts performance. However, I'm not sure I could quantify the overhead exactly. In my opinion the best way to determine your needs is to run a benchmark. Configure a broker and a set of clients to mirror your expected production use-cases but at a smaller scale (e.g. use tens of queues instead of thousands). Then monitor the broker's resource utilization during your test. Scale up and down to see how utilization changes. That should give you a good ballpark on what to expect.
As far as scheduled messages go there will be a new org.apache.activemq.artemis.core.server.impl.ScheduledDeliveryHandlerImpl.ScheduledDeliveryRunnable instance for each delivery time. If two (or more) messages share the same delivery time then there will only be one ScheduledDeliveryRunnable instance. Justin On Tue, Jul 21, 2020 at 1:17 AM Wayne Robinson <wayne.robin...@gmail.com> wrote: > Hi Everyone, long time like, first time question. > > I’m doing some planning regarding instance RAM/storage costing and was > wondering what the minimum message overhead would be? > > Our messages are only around 40 bytes each (to thousands of queues), but > was wondering what the overhead of a message in RAM and/or paged to disk > is? Especially if we disable message ID and timestamp creation. > > Also, if we’re using the scheduled delivery feature, what would be the > extra overhead caused by that? > > Cheers > Wayne >