diff options
author | Ramon Fernandez <ramon@mongodb.com> | 2016-01-27 17:17:17 -0500 |
---|---|---|
committer | Ramon Fernandez <ramon@mongodb.com> | 2016-01-27 17:17:21 -0500 |
commit | 90118b147a6943b19dc929862a11071538db1438 (patch) | |
tree | d1e2c409595332174953e7dbe2db262935d89ae5 /src/third_party/wiredtiger/src/docs/shared-cache.dox | |
parent | b8cad6a59cbce2831e69e6b94f9544d83d6e00b0 (diff) | |
download | mongo-90118b147a6943b19dc929862a11071538db1438.tar.gz |
Import wiredtiger-wiredtiger-2.7.0-505-g7fea169.tar.gz from wiredtiger branch mongodb-3.4
ref: 44463c5..7fea169
WT-2355 Fix minor scratch buffer usage in logging.
WT-2348 xargs -P isn't portable
WT-2347 Java: schema format edge cases
WT-2344 OS X compiler warning
WT-2342 Enhance wtperf to support background create and drop operations
WT-2340 Add logging guarantee assertions, whitespace
WT-2339 format post-rebalance verify failure (stress run #11586)
WT-2338 Disable using pre-allocated log files when backup cursor is open
WT-2335 NULL pointer crash in config_check_search with invalid configuration string
WT-2333 Add a flag so drop doesn't block
WT-2332 Bug in logging write-no-sync mode
WT-2331 Checking of search() result for reference cursors before join()
WT-2328 schema drop does direct unlink, it should use a block manager interface.
WT-2326 Change WTPERF to use new memory allocation functions instead of the standard
WT-2321 WT-2321: race between eviction and worker threads on the eviction queue
WT-2320 Only check copyright when cutting releases
WT-2316 stress test failure: WT_CURSOR.prev out-of-order returns
WT-2314 page-swap error handling is inconsistent
WT-2313 sweep-server: conn_dhandle.c, 610: dhandle != conn->cache->evict_file_next
WT-2312 re-creating a deleted column-store page can corrupt the in-memory tree
WT-2308 custom extractor for ref_cursors in join cursor
WT-2305 Fix coverity scan issues on 23/12/2015
WT-2296 New log algorithm needs improving for sync/flush settings
WT-2295 WT_SESSION.create does a full-scan of the main table
WT-2287 WT_SESSION.rebalance
WT-2275 broken DB after application crash
WT-2267 Improve wtperf throttling implementation to provide steady load
WT-2247 variable-length column-store in-memory page splits
WT-2242 WiredTiger treats dead trees the same as other trees in eviction
WT-2142 Connection cleanup in Python tests
WT-2073 metadata cleanups
WT-1801 Add a directory sync after rollback of a WT_SESSION::rename operation
WT-1517 schema format edge cases
SERVER-22064 Coverity analysis defect 77699: Unchecked return value
SERVER-21619 sys-perf: WT crash during core_workloads_WT execution
Diffstat (limited to 'src/third_party/wiredtiger/src/docs/shared-cache.dox')
-rw-r--r-- | src/third_party/wiredtiger/src/docs/shared-cache.dox | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/src/docs/shared-cache.dox b/src/third_party/wiredtiger/src/docs/shared-cache.dox new file mode 100644 index 00000000000..95422caabda --- /dev/null +++ b/src/third_party/wiredtiger/src/docs/shared-cache.dox @@ -0,0 +1,41 @@ +/*! @m_page{{c,java},shared_cache,Per-process shared caches} + +WiredTiger supports sharing a single cache among multiple databases within +a process. + +An application configures a shared cache by specifying a shared_cache name +to the ::wiredtiger_open function. Applications can optionally +set a minimum amount of cache any connection in the pool will be assigned +and the granularity at which the cache pool is redistributed among +connections - called the chunk size. + +The shared cache implementation assigns a certain amount of cache to each +participating database. Each database manages its allocated cache +as it would when not using a shared cache - thus databases using a shared +cache can have different eviction policies. There is a thread that monitors +the cache usage of each database and redistributes the cache among +participants according to where it is most likely to improve performance. +The cache is redistributed in chunks which are of a configurable size. Once +a database has had a chunk of cache added or removed it will be given +time to start effectively using that cache before it is considered for further +adjustment. If a small chunk size is configured it will take longer for the +shared cache to adjust to changes in participants. Reallocation of resources +happens periodically and whenever a database joins the shared cache. + +The reallocation of resources is determined by comparing the amount of eviction +activity in a particular database to that of the other participating databases. + +When a database is opened it will be allocated the amount of cache configured +as the shared cache minimum, regardless of whether the cache pool is currently +fully utilized. Other databases will have their assigned cache size +reduced so the total cache size used will return within the bounds - there +may be a period when the actual usage exceeds the configured maximum. +This is especially likely if many databases join the shared cache in a short +period. When a database is closed any resources it is using are distributed +among the other databases. + +WiredTiger shared cache tuning options can be configured when first opening a +database via ::wiredtiger_open or changed after open using the +WT_CONNECTION::reconfigure method. + + */ |