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

Thomas Steinmaurer commented on CASSANDRA-16201:
------------------------------------------------

[~mck], thanks a lot for the extensive follow-up. In our tests, from where the 
actual JFR files come from, we now see, that Cassandra 3.11 and Cassandra 4.0 
is basically on the same level than 3.0 again, or even slightly better than 
3.0, but 2.1 unbeaten :-)

Do you see any further improvements in regard to 2.1 vs. 3.0/3.11/4.0? 
Following chart is an AVG for last 24hrs on a bunch of metrics, for all 
versions with the patch applied for 3.0/3.11/4.0, processing the same ingest. 
The only main difference here is, that 2.1 is using STCS for our timeseries 
tables, whereas 3.0+ is using TWCS.
 !screenshot-4.png|width=100%! 

So, in short:
|| ||Cassandra 2.1||Cassandra 3.0 Patched (Rel. diff to 2.1)||Cassandra 3.11 
Patched (Rel. diff to 2.1)||Cassandra 4.0 Patched (Rel. diff to 2.1)||
|AVG CPU|52,86%|61,43% (+16,2%)|61,04% (+15,5%)|75,06% (+42%)|
|AVG Suspension|3,76%|6,13% (+63%)|5,74% (+52,7%)|5,60% (+48,9%)|

> Reduce amount of allocations during batch statement execution
> -------------------------------------------------------------
>
>                 Key: CASSANDRA-16201
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16201
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local/Other
>            Reporter: Thomas Steinmaurer
>            Assignee: Marcus Eriksson
>            Priority: Normal
>             Fix For: 3.0.x, 3.11.x, 4.0-beta
>
>         Attachments: 16201_jfr_3023_alloc.png, 16201_jfr_3023_obj.png, 
> 16201_jfr_3118_alloc.png, 16201_jfr_3118_obj.png, 16201_jfr_40b3_alloc.png, 
> 16201_jfr_40b3_obj.png, screenshot-1.png, screenshot-2.png, screenshot-3.png, 
> screenshot-4.png
>
>
> In a Cas 2.1 / 3.0 / 3.11 / 4.0b2 comparison test with the same load profile, 
> we see 4.0b2 going OOM from time to time. According to a heap dump, we have 
> multiple NTR threads in a 3-digit MB range.
> This is likely related to object array pre-allocations at the size of 
> {{BatchUpdatesCollector.updatedRows}} per {{BTree}} although there is always 
> only 1 {{BTreeRow}} in the {{BTree}}.
>  !screenshot-1.png|width=100%! 
> So it seems we have many, many 20K elemnts pre-allocated object arrays 
> resulting in a shallow heap of 80K each, although there is only one element 
> in the array.
> This sort of pre-allocation is causing a lot of memory pressure.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to