Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-17406

SQL "select by key" performance 50-60 times slower than key-value get

    XMLWordPrintableJSON

Details

    • Task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • None

    Description

      During the https://issues.apache.org/jira/browse/IGNITE-17220 benchmarks runs we found out, that YCSB benchmarks show very slow performance.

      1. After some investigations under https://issues.apache.org/jira/browse/IGNITE-17379 we found out, that SQL select by key performance significantly slower, than the same key-value get: 1-2ms vs 40-50ms.

      Step to reproduce:

      2. Also, at the same time it looks like performance degradation depends on the size of table data

      Step to reproduce:

      • run the test ItBenchmarkTest#testReadDegradationSqlApi

       

      According to these points, it seems that the cause of these issues: "rocksdb full scan and post-filtering" pattern, which we are using in SQL API (fix me, if I'm wrong). You can check async-profile cpu flamegraph from the benchmarks run on my machine (RocksIterator#seek0 column, I guess)

       

      Attachments

        1. cpu.html
          1.36 MB
          Kirill Gusakov

        Issue Links

          Activity

            People

              Unassigned Unassigned
              kgusakov Kirill Gusakov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: