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

Stefan Miklosovic commented on CASSANDRA-19429:
-----------------------------------------------

4.0 looks reasonable OK too, failing test_pkey_requirement is the fault of 
recently merged CASSANDRA-19341

[CASSANDRA-19429-4.0|https://github.com/instaclustr/cassandra/tree/CASSANDRA-19429-4.0]
{noformat}
java11_pre-commit_tests                         
java11_separate_tests                            
java8_pre-commit_tests                          
  ✓ j8_build                                         1m 33s
  ✓ j8_cqlsh-dtests-py2-no-vnodes                    5m 17s
  ✓ j8_cqlsh-dtests-py2-with-vnodes                  6m 34s
  ✓ j8_cqlsh_dtests_py3                              6m 55s
  ✓ j8_cqlsh_dtests_py311                            8m 10s
  ✓ j8_cqlsh_dtests_py311_vnode                      6m 49s
  ✓ j8_cqlsh_dtests_py38                             6m 12s
  ✓ j8_cqlsh_dtests_py38_vnode                       5m 31s
  ✓ j8_cqlsh_dtests_py3_vnode                        5m 11s
  ✓ j8_cqlshlib_tests                                 9m 6s
  ✓ j8_jvm_dtests                                    14m 9s
  ✓ j11_cqlsh_dtests_py3_vnode                       5m 25s
  ✓ j11_cqlsh_dtests_py38_vnode                      5m 33s
  ✓ j11_cqlsh_dtests_py38                            5m 34s
  ✓ j11_cqlsh_dtests_py311_vnode                     5m 33s
  ✓ j11_cqlsh_dtests_py311                           5m 45s
  ✓ j11_cqlsh-dtests-py2-with-vnodes                 5m 37s
  ✓ j11_cqlsh-dtests-py2-no-vnodes                   5m 38s
  ✕ j8_dtests                                       31m 17s
      json_test.TestJsonFullRowInsertSelect test_pkey_requirement
  ✕ j8_dtests_vnode                                 36m 54s
      json_test.TestJsonFullRowInsertSelect test_pkey_requirement
  ✕ j8_unit_tests                                   10m 45s
      org.apache.cassandra.cql3.MemtableSizeTest testTruncationReleasesLogSpace
  ✕ j8_utests_system_keyspace_directory              9m 40s
      org.apache.cassandra.cql3.BatchTest testNonCounterInLoggedBatch
      org.apache.cassandra.cql3.MemtableSizeTest testTruncationReleasesLogSpace
  ✕ j11_unit_tests                                    7m 8s
      org.apache.cassandra.cql3.MemtableSizeTest testTruncationReleasesLogSpace
  ✕ j11_dtests_vnode                                43m 44s
      bootstrap_test.TestBootstrap test_bootstrap_binary_disabled
      json_test.TestJsonFullRowInsertSelect test_pkey_requirement
  ✕ j11_dtests                                      31m 20s
      json_test.TestJsonFullRowInsertSelect test_pkey_requirement
  ✕ j11_cqlsh_dtests_py3                             5m 21s
      compression_test.TestCompression test_compression_cql_options
java8_separate_tests                             
{noformat}

[java11_pre-commit_tests|https://app.circleci.com/pipelines/github/instaclustr/cassandra/4287/workflows/62e98e6f-2687-4ba0-943e-17b990ad5737]
[java11_separate_tests|https://app.circleci.com/pipelines/github/instaclustr/cassandra/4287/workflows/946942f4-66a9-4aa2-aed7-581dda35f814]
[java8_pre-commit_tests|https://app.circleci.com/pipelines/github/instaclustr/cassandra/4287/workflows/151e79a6-1494-40c6-9c22-3ac71cf6161b]
[java8_separate_tests|https://app.circleci.com/pipelines/github/instaclustr/cassandra/4287/workflows/3db92b5a-3faf-440d-9b31-c40e56fb0778]


> Remove lock contention generated by getCapacity function in SSTableReader
> -------------------------------------------------------------------------
>
>                 Key: CASSANDRA-19429
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-19429
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local/SSTable
>            Reporter: Dipietro Salvatore
>            Assignee: Dipietro Salvatore
>            Priority: Normal
>             Fix For: 4.0.x, 4.1.x
>
>         Attachments: Screenshot 2024-02-26 at 10.27.10.png, Screenshot 
> 2024-02-27 at 11.29.41.png, Screenshot 2024-03-19 at 15.22.50.png, 
> asprof_cass4.1.3__lock_20240216052912lock.html, 
> image-2024-03-08-15-51-30-439.png, image-2024-03-08-15-52-07-902.png
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> Profiling Cassandra 4.1.3 on large AWS instances, a high number of lock 
> acquires is measured in the `getCapacity` function from 
> `org/apache/cassandra/cache/InstrumentingCache` (1.9M lock acquires per 60 
> seconds). Based on our tests on r8g.24xlarge instances (using Ubuntu 22.04), 
> this limits the CPU utilization of the system to under 50% when testing at 
> full load and therefore limits the achieved throughput.
> Removing the lock contention from the SSTableReader.java file by replacing 
> the call to `getCapacity` with `size` achieves up to 2.95x increase in 
> throughput on r8g.24xlarge and 2x on r7i.24xlarge:
> |Instance type|Cass 4.1.3|Cass 4.1.3 patched|
> |r8g.24xlarge|168k ops|496k ops (2.95x)|
> |r7i.24xlarge|153k ops|304k ops (1.98x)|
>  
> Instructions to reproduce:
> {code:java}
> ## Requirements for Ubuntu 22.04
> sudo apt install -y ant git openjdk-11-jdk
> ## Build and run
> CASSANDRA_USE_JDK11=true ant realclean && CASSANDRA_USE_JDK11=true ant jar && 
> CASSANDRA_USE_JDK11=true ant stress-build  && rm -rf data && bin/cassandra -f 
> -R
> # Run
> bin/cqlsh -e 'drop table if exists keyspace1.standard1;' && \
> bin/cqlsh -e 'drop keyspace if exists keyspace1;' && \
> bin/nodetool clearsnapshot --all && tools/bin/cassandra-stress write 
> n=10000000 cl=ONE -rate threads=384 -node 127.0.0.1 -log file=cload.log 
> -graph file=cload.html && \
> bin/nodetool compact keyspace1   && sleep 30s && \
> tools/bin/cassandra-stress mixed ratio\(write=10,read=90\) duration=10m 
> cl=ONE -rate threads=406 -node localhost -log file=result.log -graph 
> file=graph.html
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to