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

Start tuning the WT_SESSION_IMPL cache of WT_EXT and WT_SIZE structures.

    • Type: Icon: Task Task
    • Resolution: Done
    • WT1.6.6
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None

      @michaelcahill:

      Increase the pre-alloc of WT_EXT/WT_SIZE structures from 5/2 to 5/5 in the write/free paths, and from 100/10 to 250/250 in the checkpoint path.

      Turn off cache limits: checkpoints can take tens of thousands of WT_EXT structures and hundreds of WT_SIZE structures, we want to cache everything until the checkpoint completes. Add a cleanup call after the checkpoint so we don't tie down megabytes of memory between checkpoints.

      Split the previous pre-allocate function into two parts, it's simpler as a function to pre-allocate entries and a separate function to take an entry for use.

      Remove the tracking of "memory allocations while locked"; there are extent lists we read while not holding any locks, and they can be really, really large requiring the allocation of tens of thousands of WT_EXT structures, they make the statistic meaningless.

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

              Created:
              Updated:
              Resolved: