diff options
Diffstat (limited to 'src/include/wiredtiger.in')
-rw-r--r-- | src/include/wiredtiger.in | 203 |
1 files changed, 111 insertions, 92 deletions
diff --git a/src/include/wiredtiger.in b/src/include/wiredtiger.in index 7df0dd77bf9..21a4a657506 100644 --- a/src/include/wiredtiger.in +++ b/src/include/wiredtiger.in @@ -1537,9 +1537,18 @@ struct __wt_connection { * number of worker threads to service asynchronous requests., an * integer between 1 and 20; default \c 2.} * @config{ ),,} + * @config{cache_overhead, assume the heap allocator overhead is the + * specified percentage\, and adjust the cache size by that amount (for + * example\, if the cache size is 100GB\, a percentage of 10 means + * WiredTiger limits itself to allocating 90GB of memory). This value is + * configurable because different heap allocators have different + * overhead and different workloads will have different heap allocation + * sizes and patterns\, therefore applications may need to adjust this + * value based on allocator choice and behavior in measured workloads., + * an integer between 0 and 30; default \c 8.} * @config{cache_size, maximum heap memory to allocate for the cache. A - * database should configure either a cache_size or a shared_cache not - * both., an integer between 1MB and 10TB; default \c 100MB.} + * database should configure either \c cache_size or \c shared_cache but + * not both., an integer between 1MB and 10TB; default \c 100MB.} * @config{checkpoint = (, periodically checkpoint the database., a set * of related configuration options defined below.} * @config{ log_size, wait for this amount of log @@ -1864,9 +1873,17 @@ struct __wt_connection { * I/O. The default value of -1 indicates a platform-specific alignment value * should be used (4KB on Linux systems\, zero elsewhere)., an integer between * -1 and 1MB; default \c -1.} + * @config{cache_overhead, assume the heap allocator overhead is the specified + * percentage\, and adjust the cache size by that amount (for example\, if the + * cache size is 100GB\, a percentage of 10 means WiredTiger limits itself to + * allocating 90GB of memory). This value is configurable because different heap + * allocators have different overhead and different workloads will have + * different heap allocation sizes and patterns\, therefore applications may + * need to adjust this value based on allocator choice and behavior in measured + * workloads., an integer between 0 and 30; default \c 8.} * @config{cache_size, maximum heap memory to allocate for the cache. A - * database should configure either a cache_size or a shared_cache not both., an - * integer between 1MB and 10TB; default \c 100MB.} + * database should configure either \c cache_size or \c shared_cache but not + * both., an integer between 1MB and 10TB; default \c 100MB.} * @config{checkpoint = (, periodically checkpoint the database., a set of * related configuration options defined below.} * @config{ log_size, wait for this amount of log record @@ -3229,182 +3246,184 @@ extern int wiredtiger_extension_terminate(WT_CONNECTION *connection); #define WT_STAT_CONN_CACHE_EVICTION_WORKER_EVICTING 1044 /*! cache: in-memory page splits */ #define WT_STAT_CONN_CACHE_INMEM_SPLIT 1045 +/*! cache: percentage overhead */ +#define WT_STAT_CONN_CACHE_OVERHEAD 1046 /*! cache: tracked dirty pages in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1046 +#define WT_STAT_CONN_CACHE_PAGES_DIRTY 1047 /*! cache: pages currently held in the cache */ -#define WT_STAT_CONN_CACHE_PAGES_INUSE 1047 +#define WT_STAT_CONN_CACHE_PAGES_INUSE 1048 /*! cache: pages read into cache */ -#define WT_STAT_CONN_CACHE_READ 1048 +#define WT_STAT_CONN_CACHE_READ 1049 /*! cache: pages written from cache */ -#define WT_STAT_CONN_CACHE_WRITE 1049 +#define WT_STAT_CONN_CACHE_WRITE 1050 /*! connection: pthread mutex condition wait calls */ -#define WT_STAT_CONN_COND_WAIT 1050 +#define WT_STAT_CONN_COND_WAIT 1051 /*! cursor: cursor create calls */ -#define WT_STAT_CONN_CURSOR_CREATE 1051 +#define WT_STAT_CONN_CURSOR_CREATE 1052 /*! cursor: cursor insert calls */ -#define WT_STAT_CONN_CURSOR_INSERT 1052 +#define WT_STAT_CONN_CURSOR_INSERT 1053 /*! cursor: cursor next calls */ -#define WT_STAT_CONN_CURSOR_NEXT 1053 +#define WT_STAT_CONN_CURSOR_NEXT 1054 /*! cursor: cursor prev calls */ -#define WT_STAT_CONN_CURSOR_PREV 1054 +#define WT_STAT_CONN_CURSOR_PREV 1055 /*! cursor: cursor remove calls */ -#define WT_STAT_CONN_CURSOR_REMOVE 1055 +#define WT_STAT_CONN_CURSOR_REMOVE 1056 /*! cursor: cursor reset calls */ -#define WT_STAT_CONN_CURSOR_RESET 1056 +#define WT_STAT_CONN_CURSOR_RESET 1057 /*! cursor: cursor search calls */ -#define WT_STAT_CONN_CURSOR_SEARCH 1057 +#define WT_STAT_CONN_CURSOR_SEARCH 1058 /*! cursor: cursor search near calls */ -#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1058 +#define WT_STAT_CONN_CURSOR_SEARCH_NEAR 1059 /*! cursor: cursor update calls */ -#define WT_STAT_CONN_CURSOR_UPDATE 1059 +#define WT_STAT_CONN_CURSOR_UPDATE 1060 /*! data-handle: connection dhandles swept */ -#define WT_STAT_CONN_DH_CONN_HANDLES 1060 +#define WT_STAT_CONN_DH_CONN_HANDLES 1061 /*! data-handle: connection candidate referenced */ -#define WT_STAT_CONN_DH_CONN_REF 1061 +#define WT_STAT_CONN_DH_CONN_REF 1062 /*! data-handle: connection sweeps */ -#define WT_STAT_CONN_DH_CONN_SWEEPS 1062 +#define WT_STAT_CONN_DH_CONN_SWEEPS 1063 /*! data-handle: connection time-of-death sets */ -#define WT_STAT_CONN_DH_CONN_TOD 1063 +#define WT_STAT_CONN_DH_CONN_TOD 1064 /*! data-handle: session dhandles swept */ -#define WT_STAT_CONN_DH_SESSION_HANDLES 1064 +#define WT_STAT_CONN_DH_SESSION_HANDLES 1065 /*! data-handle: session sweep attempts */ -#define WT_STAT_CONN_DH_SESSION_SWEEPS 1065 +#define WT_STAT_CONN_DH_SESSION_SWEEPS 1066 /*! connection: files currently open */ -#define WT_STAT_CONN_FILE_OPEN 1066 +#define WT_STAT_CONN_FILE_OPEN 1067 /*! log: log buffer size increases */ -#define WT_STAT_CONN_LOG_BUFFER_GROW 1067 +#define WT_STAT_CONN_LOG_BUFFER_GROW 1068 /*! log: total log buffer size */ -#define WT_STAT_CONN_LOG_BUFFER_SIZE 1068 +#define WT_STAT_CONN_LOG_BUFFER_SIZE 1069 /*! log: log bytes of payload data */ -#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1069 +#define WT_STAT_CONN_LOG_BYTES_PAYLOAD 1070 /*! log: log bytes written */ -#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1070 +#define WT_STAT_CONN_LOG_BYTES_WRITTEN 1071 /*! log: yields waiting for previous log file close */ -#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1071 +#define WT_STAT_CONN_LOG_CLOSE_YIELDS 1072 /*! log: total size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_LEN 1072 +#define WT_STAT_CONN_LOG_COMPRESS_LEN 1073 /*! log: total in-memory size of compressed records */ -#define WT_STAT_CONN_LOG_COMPRESS_MEM 1073 +#define WT_STAT_CONN_LOG_COMPRESS_MEM 1074 /*! log: log records too small to compress */ -#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1074 +#define WT_STAT_CONN_LOG_COMPRESS_SMALL 1075 /*! log: log records not compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1075 +#define WT_STAT_CONN_LOG_COMPRESS_WRITE_FAILS 1076 /*! log: log records compressed */ -#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1076 +#define WT_STAT_CONN_LOG_COMPRESS_WRITES 1077 /*! log: maximum log file size */ -#define WT_STAT_CONN_LOG_MAX_FILESIZE 1077 +#define WT_STAT_CONN_LOG_MAX_FILESIZE 1078 /*! log: pre-allocated log files prepared */ -#define WT_STAT_CONN_LOG_PREALLOC_FILES 1078 +#define WT_STAT_CONN_LOG_PREALLOC_FILES 1079 /*! log: number of pre-allocated log files to create */ -#define WT_STAT_CONN_LOG_PREALLOC_MAX 1079 +#define WT_STAT_CONN_LOG_PREALLOC_MAX 1080 /*! log: pre-allocated log files used */ -#define WT_STAT_CONN_LOG_PREALLOC_USED 1080 +#define WT_STAT_CONN_LOG_PREALLOC_USED 1081 /*! log: log read operations */ -#define WT_STAT_CONN_LOG_READS 1081 +#define WT_STAT_CONN_LOG_READS 1082 /*! log: records processed by log scan */ -#define WT_STAT_CONN_LOG_SCAN_RECORDS 1082 +#define WT_STAT_CONN_LOG_SCAN_RECORDS 1083 /*! log: log scan records requiring two reads */ -#define WT_STAT_CONN_LOG_SCAN_REREADS 1083 +#define WT_STAT_CONN_LOG_SCAN_REREADS 1084 /*! log: log scan operations */ -#define WT_STAT_CONN_LOG_SCANS 1084 +#define WT_STAT_CONN_LOG_SCANS 1085 /*! log: consolidated slot closures */ -#define WT_STAT_CONN_LOG_SLOT_CLOSES 1085 +#define WT_STAT_CONN_LOG_SLOT_CLOSES 1086 /*! log: logging bytes consolidated */ -#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1086 +#define WT_STAT_CONN_LOG_SLOT_CONSOLIDATED 1087 /*! log: consolidated slot joins */ -#define WT_STAT_CONN_LOG_SLOT_JOINS 1087 +#define WT_STAT_CONN_LOG_SLOT_JOINS 1088 /*! log: consolidated slot join races */ -#define WT_STAT_CONN_LOG_SLOT_RACES 1088 +#define WT_STAT_CONN_LOG_SLOT_RACES 1089 /*! log: slots selected for switching that were unavailable */ -#define WT_STAT_CONN_LOG_SLOT_SWITCH_FAILS 1089 +#define WT_STAT_CONN_LOG_SLOT_SWITCH_FAILS 1090 /*! log: record size exceeded maximum */ -#define WT_STAT_CONN_LOG_SLOT_TOOBIG 1090 +#define WT_STAT_CONN_LOG_SLOT_TOOBIG 1091 /*! log: failed to find a slot large enough for record */ -#define WT_STAT_CONN_LOG_SLOT_TOOSMALL 1091 +#define WT_STAT_CONN_LOG_SLOT_TOOSMALL 1092 /*! log: consolidated slot join transitions */ -#define WT_STAT_CONN_LOG_SLOT_TRANSITIONS 1092 +#define WT_STAT_CONN_LOG_SLOT_TRANSITIONS 1093 /*! log: log sync operations */ -#define WT_STAT_CONN_LOG_SYNC 1093 +#define WT_STAT_CONN_LOG_SYNC 1094 /*! log: log write operations */ -#define WT_STAT_CONN_LOG_WRITES 1094 +#define WT_STAT_CONN_LOG_WRITES 1095 /*! LSM: sleep for LSM checkpoint throttle */ -#define WT_STAT_CONN_LSM_CHECKPOINT_THROTTLE 1095 +#define WT_STAT_CONN_LSM_CHECKPOINT_THROTTLE 1096 /*! LSM: sleep for LSM merge throttle */ -#define WT_STAT_CONN_LSM_MERGE_THROTTLE 1096 +#define WT_STAT_CONN_LSM_MERGE_THROTTLE 1097 /*! LSM: rows merged in an LSM tree */ -#define WT_STAT_CONN_LSM_ROWS_MERGED 1097 +#define WT_STAT_CONN_LSM_ROWS_MERGED 1098 /*! LSM: application work units currently queued */ -#define WT_STAT_CONN_LSM_WORK_QUEUE_APP 1098 +#define WT_STAT_CONN_LSM_WORK_QUEUE_APP 1099 /*! LSM: merge work units currently queued */ -#define WT_STAT_CONN_LSM_WORK_QUEUE_MANAGER 1099 +#define WT_STAT_CONN_LSM_WORK_QUEUE_MANAGER 1100 /*! LSM: tree queue hit maximum */ -#define WT_STAT_CONN_LSM_WORK_QUEUE_MAX 1100 +#define WT_STAT_CONN_LSM_WORK_QUEUE_MAX 1101 /*! LSM: switch work units currently queued */ -#define WT_STAT_CONN_LSM_WORK_QUEUE_SWITCH 1101 +#define WT_STAT_CONN_LSM_WORK_QUEUE_SWITCH 1102 /*! LSM: tree maintenance operations scheduled */ -#define WT_STAT_CONN_LSM_WORK_UNITS_CREATED 1102 +#define WT_STAT_CONN_LSM_WORK_UNITS_CREATED 1103 /*! LSM: tree maintenance operations discarded */ -#define WT_STAT_CONN_LSM_WORK_UNITS_DISCARDED 1103 +#define WT_STAT_CONN_LSM_WORK_UNITS_DISCARDED 1104 /*! LSM: tree maintenance operations executed */ -#define WT_STAT_CONN_LSM_WORK_UNITS_DONE 1104 +#define WT_STAT_CONN_LSM_WORK_UNITS_DONE 1105 /*! connection: memory allocations */ -#define WT_STAT_CONN_MEMORY_ALLOCATION 1105 +#define WT_STAT_CONN_MEMORY_ALLOCATION 1106 /*! connection: memory frees */ -#define WT_STAT_CONN_MEMORY_FREE 1106 +#define WT_STAT_CONN_MEMORY_FREE 1107 /*! connection: memory re-allocations */ -#define WT_STAT_CONN_MEMORY_GROW 1107 +#define WT_STAT_CONN_MEMORY_GROW 1108 /*! thread-yield: page acquire busy blocked */ -#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1108 +#define WT_STAT_CONN_PAGE_BUSY_BLOCKED 1109 /*! thread-yield: page acquire eviction blocked */ -#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1109 +#define WT_STAT_CONN_PAGE_FORCIBLE_EVICT_BLOCKED 1110 /*! thread-yield: page acquire locked blocked */ -#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1110 +#define WT_STAT_CONN_PAGE_LOCKED_BLOCKED 1111 /*! thread-yield: page acquire read blocked */ -#define WT_STAT_CONN_PAGE_READ_BLOCKED 1111 +#define WT_STAT_CONN_PAGE_READ_BLOCKED 1112 /*! thread-yield: page acquire time sleeping (usecs) */ -#define WT_STAT_CONN_PAGE_SLEEP 1112 +#define WT_STAT_CONN_PAGE_SLEEP 1113 /*! connection: total read I/Os */ -#define WT_STAT_CONN_READ_IO 1113 +#define WT_STAT_CONN_READ_IO 1114 /*! reconciliation: page reconciliation calls */ -#define WT_STAT_CONN_REC_PAGES 1114 +#define WT_STAT_CONN_REC_PAGES 1115 /*! reconciliation: page reconciliation calls for eviction */ -#define WT_STAT_CONN_REC_PAGES_EVICTION 1115 +#define WT_STAT_CONN_REC_PAGES_EVICTION 1116 /*! reconciliation: split bytes currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1116 +#define WT_STAT_CONN_REC_SPLIT_STASHED_BYTES 1117 /*! reconciliation: split objects currently awaiting free */ -#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1117 +#define WT_STAT_CONN_REC_SPLIT_STASHED_OBJECTS 1118 /*! connection: pthread mutex shared lock read-lock calls */ -#define WT_STAT_CONN_RWLOCK_READ 1118 +#define WT_STAT_CONN_RWLOCK_READ 1119 /*! connection: pthread mutex shared lock write-lock calls */ -#define WT_STAT_CONN_RWLOCK_WRITE 1119 +#define WT_STAT_CONN_RWLOCK_WRITE 1120 /*! session: open cursor count */ -#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1120 +#define WT_STAT_CONN_SESSION_CURSOR_OPEN 1121 /*! session: open session count */ -#define WT_STAT_CONN_SESSION_OPEN 1121 +#define WT_STAT_CONN_SESSION_OPEN 1122 /*! transaction: transaction begins */ -#define WT_STAT_CONN_TXN_BEGIN 1122 +#define WT_STAT_CONN_TXN_BEGIN 1123 /*! transaction: transaction checkpoints */ -#define WT_STAT_CONN_TXN_CHECKPOINT 1123 +#define WT_STAT_CONN_TXN_CHECKPOINT 1124 /*! transaction: transaction checkpoint currently running */ -#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1124 +#define WT_STAT_CONN_TXN_CHECKPOINT_RUNNING 1125 /*! transaction: transaction checkpoint max time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1125 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MAX 1126 /*! transaction: transaction checkpoint min time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1126 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_MIN 1127 /*! transaction: transaction checkpoint most recent time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1127 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_RECENT 1128 /*! transaction: transaction checkpoint total time (msecs) */ -#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1128 +#define WT_STAT_CONN_TXN_CHECKPOINT_TIME_TOTAL 1129 /*! transaction: transactions committed */ -#define WT_STAT_CONN_TXN_COMMIT 1129 +#define WT_STAT_CONN_TXN_COMMIT 1130 /*! transaction: transaction failures due to cache overflow */ -#define WT_STAT_CONN_TXN_FAIL_CACHE 1130 +#define WT_STAT_CONN_TXN_FAIL_CACHE 1131 /*! transaction: transaction range of IDs currently pinned */ -#define WT_STAT_CONN_TXN_PINNED_RANGE 1131 +#define WT_STAT_CONN_TXN_PINNED_RANGE 1132 /*! transaction: transactions rolled back */ -#define WT_STAT_CONN_TXN_ROLLBACK 1132 +#define WT_STAT_CONN_TXN_ROLLBACK 1133 /*! connection: total write I/Os */ -#define WT_STAT_CONN_WRITE_IO 1133 +#define WT_STAT_CONN_WRITE_IO 1134 /*! * @} |