[ 
https://issues.apache.org/jira/browse/ARTEMIS-2852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17170224#comment-17170224
 ] 

Kasper Kondzielski edited comment on ARTEMIS-2852 at 8/3/20, 7:12 PM:
----------------------------------------------------------------------

Let me start from the beginning. In our tests we try to compare various queues. 
Obviously most of these queues can be fine tuned to the very extreme in terms 
of performance, but this requires a lot of very specialized knowledge. As we 
are time constrained we can't allow ourselves to dive so deeply into each 
implementation. That's why for most of the cases we just use the default 
configuration with some best practice tune ups if they are publicly and easily 
available. This is the kind of comparison I had in mind when I opened this 
issue. I compared artemis 2.2.0 with all the best practice we knew at the time 
of testing with the current version 2.9.0 and all the best practices we know 
now. So it is not about comparing isolated binaries with all other things fixed 
to some values, but rather giving a practical insight on the performance which 
would benefit most of the people.

 

Still, when I saw the results I was concerned about that decrease. There can be 
three causes to that:
 * I did something terrible wrong in the configuration
 * there is a bug in the current version
 * there is nothing wrong either with implementation or the configuration and 
the performance decrease was a result of e.g. stabilizing and hardening the 
system

In the first two cases I think that it is justified to create this issue.  
Although it might not be the best name for this issue, without having the 
option to compare these results against previous version I wouldn't even know 
that it might be an issue.

 

In case of the third option it still might be good to let users know about such 
characteristic, especially to those who migrated all the way from 2.2.0 up to 
2.13.0


was (Author: kkondzielski):
Let me start from the beginning. In our tests we try to compare various queues. 
Obviously most of these queues can be fine tuned to the very extreme in terms 
of performance, but this requires a lot of very specialized knowledge. As we 
are time constrained we can't allow ourselves to dive so deeply into each 
implementation. That's way for most of the cases we just use the default 
configuration with some best practice tune ups if they are publicly and easily 
available. This is the kind of comparison I had in mind when I opened this 
issue. I compared artemis 2.2.0 with all the best practice we knew at the time 
of testing with the current version 2.9.0 and all the best practices we know 
now. So it is not about comparing isolated binaries with all other things fixed 
to some values, but rather giving a practical insight on the performance which 
would benefit most of the people.

 

Still, when I saw the results I was concerned about that decrease. There can be 
three causes to that:
 * I did something terrible wrong in the configuration
 * there is a bug in the current version
 * there is nothing wrong either with implementation or the configuration and 
the performance decrease was a result of e.g. stabilizing and hardening the 
system

In the first two cases I think that it is justified to create this issue.  
Although it might not be the best name for this issue, without having the 
option to compare these results against previous version I wouldn't even know 
that it might be an issue.

 

In case of the third option it still might be good to let users know about such 
characteristic, especially to those who migrated all the way from 2.2.0 up to 
2.13.0

> Huge performance decrease between versions 2.2.0 and 2.13.0
> -----------------------------------------------------------
>
>                 Key: ARTEMIS-2852
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-2852
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>            Reporter: Kasper Kondzielski
>            Priority: Major
>         Attachments: Selection_433.png, Selection_434.png, Selection_440.png, 
> Selection_441.png
>
>
> Hi,
> Recently, we started to prepare a new revision of our blog-post in which we 
> test various implementations of replicated queues. Previous version can be 
> found here:  [https://softwaremill.com/mqperf/]
> We updated artemis binary to 2.13.0, regenerated configuration file and 
> applied all the performance tricks you told us last time. In particular these 
> were:
>  * the {{Xmx}} java parameter bumped to {{16G (now bumped to 48G)}}
>  * in {{broker.xml}}, the {{global-max-size}} setting changed to {{8G (this 
> one we forgot to set, but we suspect that it is not the issue)}}
>  * {{journal-type}} set to {{MAPPED}}
>  * {{journal-datasync}}, {{journal-sync-non-transactional}} and 
> {{journal-sync-transactional}} all set to false
> Apart from that we changed machines' type we use to r5.2xlarge ( 8 cores, 64 
> GIB memory, Network bandwidth Up to 10 Gbps, Storage bandwidth Up to 4,750 
> Mbps) and we decided to always run twice as much receivers as senders.
> From our tests it looks like version 2.13.0 is not scaling as well, with the 
> increase of senders and receivers, as version 2.2.0 (previously tested). 
> Basically is not scaling at all as the throughput state almost at the same 
> level, while previously it used to grow linearly.
> Here you can find our tests results for both versions: 
> [https://docs.google.com/spreadsheets/d/1kr9fzSNLD8bOhMkP7K_4axBQiKel1aJtpxsBCOy9ugU/edit?usp=sharing]
> We are aware that now there is a dedicated page in documentation about 
> performance tuning, but we are surprised that same settings as before 
> performs much worse.
> Maybe there is an obvious property which we overlooked which should be turned 
> on? 
> All changes between those versions together with the final configuration can 
> be found on this merged PR: 
> [https://github.com/softwaremill/mqperf/commit/6bfae489e11a250dc9e6ef59719782f839e8874a]
>  
> Charts showing machines' usage in attachments. Memory consumed by artemis 
> process didn't exceed ~ 16 GB. Bandwidht and cpu weren't also a bottlenecks. 
> p.s. I wanted to ask this question on mailing list/nabble forum first but it 
> seems that I don't have permissions to do so even though I registered & 
> subscribed. Is that intentional?
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to