Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-1965

high CPU load for column-store DB

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: WT2.6.1
    • Component/s: None
    • None

      Hi!

      We're using column-store table to store market data information for financial instruments.
      Record number is composed of instrument ID (high 24-bits) and sequential record numbers (lower 40 bits).
      Workload mostly consists of writes with rather rare reads.

      The problem we see is that CPU utilization is quite high.
      perf shows the following hot stacks:

                  10.05%
                      __wt_reconcile
                      __wt_evict
                      __wt_evict_lru_page
                      __evict_worker
                      start_thread
                      __clone
      
                   4.94%
                      __wt_page_inmem
                      __wt_cache_read
                      __wt_page_in_func
                      __wt_row_search
                      __wt_btcur_insert
                      __curfile_insert
                      ...
      
                   4.83%
                      __wt_cell_unpack231
                      __wt_page_inmem
                      __wt_cache_read
                      __wt_page_in_func
                      __wt_row_search
                      __wt_btcur_insert
                      __curfile_insert
                      ...
      
                   4.43%
                      __wt_reconcile
                      __wt_evict
                      __wt_evict_lru_page
                      __evict_server
                      start_thread
                      __clone
      
                   3.65%
                      __rec_cell_build_leaf_key
                      __wt_reconcile
                      __wt_evict
                      __wt_evict_lru_page
                      __evict_worker
                      start_thread
                      __clone
      
                   3.55%
                      memmove
                      __rec_cell_build_leaf_key
                      __wt_reconcile
                      __wt_evict
                      __wt_evict_lru_page
                      __evict_worker
                      start_thread
                      __clone
      
                   2.75%
                      __log_wrlsn_server
                      start_thread
                      __clone
      
                   2.38%
                      memmove
                      __rec_cell_build_leaf_key
                      __wt_reconcile
                      __wt_evict
                      __wt_evict_lru_page
                      __evict_server
                      start_thread
                      __clone
      
                   1.64%
                      __rec_txn_read
                      __wt_reconcile
                      __wt_evict
                      __wt_evict_lru_page
                      __evict_worker
                      start_thread
                      __clone
      
                   1.49%
                      __wt_row_search
                      __wt_btcur_insert
                      __curfile_insert
                      ...
      
                   1.40%
                      __rec_cell_build_leaf_key
                      __wt_reconcile
                      __wt_evict
                      __wt_evict_lru_page
                      __evict_server
                      start_thread
                      __clone
      
                   1.36%
                      __wt_col_search
                      __wt_btcur_insert
                      __curfile_insert
                      ...
      
                   1.20%
                      memcpy
                      __wt_reconcile
                      __wt_evict
                      __wt_evict_lru_page
                      __evict_worker
                      start_thread
                      __clone
      

      (I omit application-specific frames at the bottom of the stacks)

      Are there any settings we can try to tune?

      Please advise.
      Thanks!

        1. col-store-perf.c
          4 kB
          Dmitri Shubin

            Assignee:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Reporter:
            Dmitri Shubin Dmitri Shubin
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: