Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-63609

Consider tuning WT tables for clustered collections

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Unresolved
    • Icon: Major - P3 Major - P3
    • None
    • None
    • None
    • Storage Execution

    Description

      We have different table configurations for collections and indexes:
      Collections:

          // Setting this larger than 10m can hurt latencies and throughput degradation if this
          // is the oplog.  See SERVER-16247
          ss << "memory_page_max=10m,";
          // Choose a higher split percent, since most usage is append only. Allow some space
          // for workloads where updates increase the size of documents.
          ss << "split_pct=90,";
          ss << "leaf_value_max=64MB,";
      

      Indexes:

          // Separate out a prefix and suffix in the default string. User configuration will override
          // values in the prefix, but not values in the suffix.  Page sizes are chosen so that index
          // keys (up to 1024 bytes) will not overflow.
          ss << "type=file,internal_page_max=16k,leaf_page_max=16k,";
      

      It appears that the rationale for using a high split_pct is that it benefits append-only workloads, although 90 is the default, so presumably there is no difference between collections and indexes. Clustered collections are not necessarily append-only, but it seems like 90 is a reasonable default for both.

      Raising "internal_page_max" from the default of 4k would reduce tree depth when there are larger keys because more keys can fit on each internal node, so raising this value could benefit clustered collections whose keys are moderately large.

      Attachments

        Activity

          People

            backlog-server-execution Backlog - Storage Execution Team
            louis.williams@mongodb.com Louis Williams
            Votes:
            0 Vote for this issue
            Watchers:
            9 Start watching this issue

            Dates

              Created:
              Updated: