В конфиг добавлен параметр dbCacheSize

This commit is contained in:
Book Pauk
2022-10-19 13:30:00 +07:00
parent 43921953a7
commit af3bac6a09
4 changed files with 12 additions and 3 deletions

View File

@@ -78,6 +78,10 @@ Options:
// включить(true)/выключить(false) журналирование // включить(true)/выключить(false) журналирование
"loggingEnabled": true, "loggingEnabled": true,
// максимальный размер кеша каждой таблицы в БД, в блоках (требуется примерно 1-10Мб памяти на один блок)
// если надо кешировать всю БД, можно поставить значение от 1000 и больше
"dbCacheSize": 5,
// максимальный размер в байтах директории закешированных файлов в <раб.дир>/public/files // максимальный размер в байтах директории закешированных файлов в <раб.дир>/public/files
// чистка каждый час // чистка каждый час
"maxFilesDirSize": 1073741824, "maxFilesDirSize": 1073741824,

View File

@@ -14,6 +14,7 @@ module.exports = {
bookReadLink: '', bookReadLink: '',
loggingEnabled: true, loggingEnabled: true,
dbCacheSize: 5,
maxPayloadSize: 500,//in MB maxPayloadSize: 500,//in MB
maxFilesDirSize: 1024*1024*1024,//1Gb maxFilesDirSize: 1024*1024*1024,//1Gb
queryCacheEnabled: true, queryCacheEnabled: true,

View File

@@ -8,6 +8,7 @@ const propsToSave = [
'accessPassword', 'accessPassword',
'bookReadLink', 'bookReadLink',
'loggingEnabled', 'loggingEnabled',
'dbCacheSize',
'maxFilesDirSize', 'maxFilesDirSize',
'queryCacheEnabled', 'queryCacheEnabled',
'cacheCleanInterval', 'cacheCleanInterval',

View File

@@ -166,15 +166,18 @@ class WebWorker {
softLock: true, softLock: true,
tableDefaults: { tableDefaults: {
cacheSize: 5, cacheSize: config.dbCacheSize,
}, },
}); });
//открываем все таблицы //открываем все таблицы
await db.openAll(); await db.openAll();
//переоткроем таблицу 'author' с бОльшим размером кеша блоков, для ускорения выборки //переоткроем таблицу 'author' с бОльшим размером кеша блоков, для ускорения выборки
await db.close({table: 'author'}); if (config.dbCacheSize < 100) {
await db.open({table: 'author', cacheSize: 100}); await db.close({table: 'author'});
await db.open({table: 'author', cacheSize: 100});
}
this.dbSearcher = new DbSearcher(config, db); this.dbSearcher = new DbSearcher(config, db);