Open Rio517 opened 6 years ago
We found two key findings:
We have hard limits for push-based recipes:
This heavily depends on the processing speed of the recipe, since push-based recipes do not wait for demand to be generated. So for a blank system, and the default buffer_size
of 10000 you can perform ~29.53k * 10000
messages per second.
The system does not scale with number of stages at an unrealistic / ridiculous number of stages.
tl;dr unless you add 10k stages to a recipe, you won't experience any performance issues.
At the range of < 100 stages, the system performs really well. An average of 0.0339ms
(median 0.0300ms
) per message. For Client.call
, for a blank system, we run at ~29.53k
operations per second.
At these rates, we see the need for testing recipes individually, but we won't expect any adverse effects in production, with the projected message volume of around ~2000 messages / second. We are far below that limit, and have a sufficient head room to scale any application within.
/signed @Overbryd @theharq
How can these tests be reproduced by others?
Potentially, pull in work that @Overbryd has done on his own...
Test minimal/maximal buffer sizes, congestion