@cryptotaxi247 / netdata-1 / commits / a120a4b1b

configure extent cache size (#14821)

Costa Tsaousis committed Mar 28, 2023 at 20:35 UTC a120a4b1b2512d35d01c27915a0896243cac904f
4 files changed +9
daemon/main.c
+4
@@ -1112,8 +1112,12 @@ static void get_netdata_configured_variables() {
1112 // get default Database Engine page cache size in MiB
1113
1114 default_rrdeng_page_cache_mb = (int) config_get_number(CONFIG_SECTION_DB, "dbengine page cache size MB", default_rrdeng_page_cache_mb);
1115 + default_rrdeng_extent_cache_mb = (int) config_get_number(CONFIG_SECTION_DB, "dbengine extent cache size MB", default_rrdeng_extent_cache_mb);
1116 db_engine_journal_check = config_get_boolean(CONFIG_SECTION_DB, "dbengine enable journal integrity check", CONFIG_BOOLEAN_NO);
1117
1118 + if(default_rrdeng_extent_cache_mb < 0)
1119 + default_rrdeng_extent_cache_mb = 0;
1120 +
1121 if(default_rrdeng_page_cache_mb < RRDENG_MIN_PAGE_CACHE_SIZE_MB) {
1122 error("Invalid page cache size %d given. Defaulting to %d.", default_rrdeng_page_cache_mb, RRDENG_MIN_PAGE_CACHE_SIZE_MB);
1123 default_rrdeng_page_cache_mb = RRDENG_MIN_PAGE_CACHE_SIZE_MB;
database/engine/pagecache.c
+2
@@ -1069,6 +1069,8 @@ void pgc_and_mrg_initialize(void)
1069 main_cache_size = target_cache_size - extent_cache_size;
1070 }
1071
1072 + extent_cache_size += (size_t)(default_rrdeng_extent_cache_mb * 1024ULL * 1024ULL);
1073 +
1074 main_cache = pgc_create(
1075 "main_cache",
1076 main_cache_size,
database/engine/rrdengineapi.c
+2
@@ -41,8 +41,10 @@ int default_multidb_disk_quota_mb = 256;
41
42 #if defined(ENV32BIT)
43 int default_rrdeng_page_cache_mb = 16;
44 +int default_rrdeng_extent_cache_mb = 0;
45 #else
46 int default_rrdeng_page_cache_mb = 32;
47 +int default_rrdeng_extent_cache_mb = 0;
48 #endif
49
50 // ----------------------------------------------------------------------------
database/engine/rrdengineapi.h
+1
@@ -13,6 +13,7 @@
13 #define RRDENG_FD_BUDGET_PER_INSTANCE (50)
14
15 extern int default_rrdeng_page_cache_mb;
16 +extern int default_rrdeng_extent_cache_mb;
17 extern int db_engine_journal_check;
18 extern int default_rrdeng_disk_quota_mb;
19 extern int default_multidb_disk_quota_mb;