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

View File

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

View File

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

View File

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