Uploaded image for project: 'Apache Cassandra'
  1. Apache Cassandra
  2. CASSANDRA-19676

Stream processing for StorageProxy::updateCoordinatorWriteLatencyTableMetric

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Normal
    • Resolution: Fixed
    • 5.0-rc1, 5.1
    • Legacy/Core
    • None

    Description

      On profiling a write-heavy workload (90% writes) using easy-cass-stress, it became very clear StorageProxy::updateCoordinatorWriteLatencyTableMetric was a hot path that ~15% of the CPU cycles of ModificationStatement::executeWithoutCondition were taken up by (see attached async-profiler image).

      We should convert this stream to a simple for loop, as has been discussed recently on the mail list.

      easy-cass-stress command:

      $ bin/easy-cass-stress run KeyValue -n 10m --maxwlat 10 -r 0.1 --rate 20000 --compaction twcs

       

      Attachments

        1. image-2024-06-02-17-25-25-071.png
          146 kB
          Sam Lightfoot
        2. after.png
          176 kB
          Sam Lightfoot

        Issue Links

          Activity

            People

              samueldlightfoot Sam Lightfoot
              samueldlightfoot Sam Lightfoot
              Sam Lightfoot
              Stefan Miklosovic
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m