Skip to content

How to determine what to set concurrency level while using Key ordering #728

Closed Answered by rkolesnev
amber13574 asked this question in General
Discussion options

You must be logged in to vote

Hi @amber13574,

There is no real inherent problem with having 1000 sized thread pool - default stack size for threads is 1MB (depending on OS / java version though) - so 1000 threads would have 1GB Ram reserved for their stacks. If the processing is purely IO and is reasonably slow - lets say 5 seconds - then 1000 threads - or even more might be necessary.
1000 threads with 5 second IO wait allows to achieve roughly 200 messages per second throughput (roughly as there is some overhead etc). So if desired throughput is for example 5,000 messages per second - with such slow processing - 25 instances of Parallel Consumer with 1000 thread pools would be required - and probably even more to al…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by rkolesnev
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
2 participants