[SERVER-16182] Under WiredTiger actual leaf_page_max appears to be 75% of specified value Created: 17/Nov/14 Updated: 10/Dec/14 Resolved: 17/Nov/14 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Diagnostics, Storage |
| Affects Version/s: | 2.8.0-rc0 |
| Fix Version/s: | None |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Bruce Lucas (Inactive) | Assignee: | Unassigned |
| Resolution: | Done | Votes: | 0 |
| Labels: | wiredtiger | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Operating System: | ALL |
| Participants: |
| Description |
|
With default leaf_page_max of 32 kB for collections, actual leaf pages appear never to be larger than 24 kB; 16 kB is default for indexes but actual leaf pages are never larger than 12 kB. Increase leaf_page_max to 64 kB and observed leaf page sizes are never larger than 48 kB. |
| Comments |
| Comment by Bruce Lucas (Inactive) [ 18/Nov/14 ] |
|
Thanks agorrod. So does that mean for tables like MongoDB collections where (I believe) inserts are always at the end, a split_pct of 100 would be fine? Would there be any advantage to setting it to 100% - for example, would it save memory, or does leaf_page_max have no effect on the amount of memory allocated for a page? |
| Comment by Alex Gorrod [ 17/Nov/14 ] |
|
This behavior is deliberate. There is a configuration for WiredTiger WT_SESSION::create that allows you to tune how full we make leaf pages called "split_pct". You can read about it in the documentation here: http://source.wiredtiger.com/2.4.1/struct_w_t___s_e_s_s_i_o_n.html#a358ca4141d59c345f401c58501276bbb The reason we don't fill pages up completely when they are first created is to allow space for future updates without needing to split into multiple pages. |
| Comment by Eliot Horowitz (Inactive) [ 17/Nov/14 ] |
|
Is this actually a thing to change? |