diff options
Diffstat (limited to 'src/btree')
-rw-r--r-- | src/btree/bt_handle.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/btree/bt_handle.c b/src/btree/bt_handle.c index ba545859d07..118195779e9 100644 --- a/src/btree/bt_handle.c +++ b/src/btree/bt_handle.c @@ -689,22 +689,20 @@ __btree_page_sizes(WT_SESSION_IMPL *session) "size (%" PRIu32 "B)", btree->allocsize); /* - * When a page is forced to split, we want at least 50 entries on its - * parent. - * * Don't let pages grow larger than a quarter of the cache, with too- * small caches, we can end up in a situation where nothing can be * evicted. Take care getting the cache size: with a shared cache, * it may not have been set. */ WT_RET(__wt_config_gets(session, cfg, "memory_page_max", &cval)); - btree->maxmempage = - WT_MAX((uint64_t)cval.val, 50 * (uint64_t)btree->maxleafpage); + btree->maxmempage = (uint64_t)cval.val; if (!F_ISSET(conn, WT_CONN_CACHE_POOL)) { if ((cache_size = conn->cache_size) > 0) btree->maxmempage = - WT_MIN(btree->maxmempage, cache_size / 4); + WT_MIN(btree->maxmempage, cache_size / 10); } + /* Enforce a lower bound of a single disk leaf page */ + btree->maxmempage = WT_MAX(btree->maxmempage, btree->maxleafpage); /* * Try in-memory splits once we hit 80% of the maximum in-memory page |