From 5aefa9e5581f2300600ee38d2b9cde66c67fb5f6 Mon Sep 17 00:00:00 2001 From: Book Pauk Date: Mon, 25 Mar 2024 14:11:58 +0700 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BD=D0=BE=20(=D0=BF?= =?UTF-8?q?=D0=BE=20=D1=83=D0=BC=D0=BE=D0=BB=D1=87=D0=B0=D0=BD=D0=B8=D1=8E?= =?UTF-8?q?)=20=D0=B5=D0=B6=D0=B5=D0=BC=D0=B8=D0=BD=D1=83=D1=82=D0=BD?= =?UTF-8?q?=D0=BE=D0=B5=20=D0=B6=D1=83=D1=80=D0=BD=D0=B0=D0=BB=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=81=D1=82=D0=B0=D1=82?= =?UTF-8?q?=D0=B8=D1=81=D1=82=D0=B8=D0=BA=D0=B8=20=D1=81=D0=B5=D1=80=D0=B2?= =?UTF-8?q?=D0=B5=D1=80=D0=B0.=20=D0=92=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B8?= =?UTF-8?q?=D0=B3=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=20?= =?UTF-8?q?=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=20logServerSta?= =?UTF-8?q?ts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 +++ server/config/base.js | 1 + server/config/index.js | 1 + server/core/WebWorker.js | 8 ++++---- server/index.js | 2 +- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d0957c7..fcc7008 100644 --- a/README.md +++ b/README.md @@ -111,6 +111,9 @@ Options: // включить(true)/выключить(false) журналирование "loggingEnabled": true, + // включить/выключить ежеминутный вывод в лог memUsage и loadAvg + "logServerStats": false, + // максимальный размер кеша каждой таблицы в БД, в блоках (требуется примерно 1-10Мб памяти на один блок) // если надо кешировать всю БД, можно поставить значение от 1000 и больше "dbCacheSize": 5, diff --git a/server/config/base.js b/server/config/base.js index 71eaa92..dba37db 100644 --- a/server/config/base.js +++ b/server/config/base.js @@ -18,6 +18,7 @@ module.exports = { extendedSearch: true, bookReadLink: '', loggingEnabled: true, + logServerStats: false, //поправить в случае, если были критические изменения в DbCreator или InpxParser //иначе будет рассинхронизация по кешу между сервером и клиентом на уровне БД diff --git a/server/config/index.js b/server/config/index.js index 902eded..8057eb5 100644 --- a/server/config/index.js +++ b/server/config/index.js @@ -12,6 +12,7 @@ const propsToSave = [ 'extendedSearch', 'bookReadLink', 'loggingEnabled', + 'logServerStats', 'dbCacheSize', 'maxFilesDirSize', 'queryCacheEnabled', diff --git a/server/core/WebWorker.js b/server/core/WebWorker.js index 92ebe35..83b5d93 100644 --- a/server/core/WebWorker.js +++ b/server/core/WebWorker.js @@ -604,16 +604,16 @@ class WebWorker { let loadAvg = os.loadavg(); loadAvg = loadAvg.map(v => v.toFixed(2)); - log(`Server info [ memUsage: ${memUsage.toFixed(2)}MB, loadAvg: (${loadAvg.join(', ')}) ]`); - - if (this.config.server.ready) - log(`Server accessible at http://127.0.0.1:${this.config.server.port} (listening on ${this.config.server.host}:${this.config.server.port})`); + log(`Server stats [ memUsage: ${memUsage.toFixed(2)}MB, loadAvg: (${loadAvg.join(', ')}) ]`); } catch (e) { log(LM_ERR, e.message); } } async periodicLogServerStats() { + if (!this.config.logServerStats) + return; + while (1) {// eslint-disable-line this.logServerStats(); await utils.sleep(60*1000); diff --git a/server/index.js b/server/index.js index a93a85e..e37ee8b 100644 --- a/server/index.js +++ b/server/index.js @@ -179,7 +179,7 @@ async function main() { server.listen(config.server.port, config.server.host, () => { config.server.ready = true; - log(`Server ready`); + log(`Server accessible at http://127.0.0.1:${config.server.port} (listening on ${config.server.host}:${config.server.port})`); }); }