Transmission time for messages Solace C API

Hi @chaudharys , that’s an interesting question. There are a lot of variables here though: throughput (bandwidth), throughput (msgs/sec), latency. Then there’s your network setup, how the hosts are setup, whether there’s virtualisation…

In general, you should expect message latency and “msgs/sec” throughput to decrease with increasing message size, which is common sense. At some point you’ll begin to saturate the bandwidth of some component. At smaller message sizes, the message processing capability of the broker dominates.

There is a second order effect though, especially on virtualised systems: how “hot” is the application on the host? This can either be the broker or the sending/receiving application. This refers to whether the application is in memory, in CPU cache etc. If the application isn’t busy, the operating system or hypervisor will “swap out” your application and “swap in” something busier - even if that is just system update task.

The only way to deal with this is to keep your applications busy. Make sure they are sending a constant stream of messages, and only measure performance after a time, say half a second, after the message stream starts to allow the O/S scheduling to stabilise.