From 9fb73690e49ae9db32e88ca6c0dee8205a44faf1 Mon Sep 17 00:00:00 2001 From: Sameer Kumar Subudhi Date: Thu, 4 Apr 2024 16:39:50 +0200 Subject: [PATCH] :gear: Tweak API client settings to reduce pressure on the node --- docker/example.env | 4 ++-- docs/antora/modules/ROOT/pages/configuration/index.adoc | 8 ++++---- ecosystem.config.js | 4 ++-- services/blockchain-connector/README.md | 4 ++-- services/blockchain-connector/config.js | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docker/example.env b/docker/example.env index 12f367ec66..49c3b76be4 100644 --- a/docker/example.env +++ b/docker/example.env @@ -37,10 +37,10 @@ # GENESIS_BLOCK_URL='https://downloads.lisk.com/lisk/mainnet/genesis_block.json.tar.gz' # CLIENT_POOL_SIZE=10 -# WS_SERVER_PING_INTERVAL=3000 +# WS_SERVER_PING_INTERVAL=6000 # WS_SERVER_PING_INTERVAL_BUFFER=1000 # ENDPOINT_INVOKE_MAX_RETRIES=3 -# ENDPOINT_INVOKE_RETRY_DELAY=50 +# ENDPOINT_INVOKE_RETRY_DELAY=1000 # CONNECTOR_EXIT_DELAY_IN_HOURS=0 # Moleculer jobs configuration diff --git a/docs/antora/modules/ROOT/pages/configuration/index.adoc b/docs/antora/modules/ROOT/pages/configuration/index.adoc index ceed08825c..92dcba2b04 100644 --- a/docs/antora/modules/ROOT/pages/configuration/index.adoc +++ b/docs/antora/modules/ROOT/pages/configuration/index.adoc @@ -424,8 +424,8 @@ By default, it is set to `10`. | number | Interval (in milliseconds) at which the WS server checks for liveliness of all the connected clients. This should not be modified unless explicitly recommended by the development team. -By default, it is set to `3000`. -| 3000 +By default, it is set to `6000`. +| 6000 | `WS_SERVER_PING_INTERVAL_BUFFER` | number @@ -442,8 +442,8 @@ By default, it is set to `3`. | `ENDPOINT_INVOKE_RETRY_DELAY` | number | Delay (in milliseconds) between each endpoint invocation request retry. -By default, it is set to `50`. -| 50 +By default, it is set to `1000`. +| 1000 | `CONNECTOR_EXIT_DELAY_IN_HOURS` | number diff --git a/ecosystem.config.js b/ecosystem.config.js index 6613bcda43..7831038961 100644 --- a/ecosystem.config.js +++ b/ecosystem.config.js @@ -130,10 +130,10 @@ module.exports = { // DOCKER_HOST: 'local', // GENESIS_BLOCK_URL: 'https://downloads.lisk.com/lisk/mainnet/genesis_block.json.tar.gz', // CLIENT_POOL_SIZE: 10, - // WS_SERVER_PING_INTERVAL=3000, + // WS_SERVER_PING_INTERVAL=6000, // WS_SERVER_PING_INTERVAL_BUFFER=1000, // ENDPOINT_INVOKE_MAX_RETRIES: 3, - // ENDPOINT_INVOKE_RETRY_DELAY: 50, + // ENDPOINT_INVOKE_RETRY_DELAY: 1000, // CONNECTOR_EXIT_DELAY_IN_HOURS: 0, // JOB_INTERVAL_CACHE_CLEANUP: 0, // JOB_SCHEDULE_CACHE_CLEANUP: '0 */12 * * *', diff --git a/services/blockchain-connector/README.md b/services/blockchain-connector/README.md index ce074adf15..9507583471 100644 --- a/services/blockchain-connector/README.md +++ b/services/blockchain-connector/README.md @@ -37,10 +37,10 @@ A list of the most commonly used environment variables is presented below: - `ENABLE_BLOCK_CACHING`: Boolean flag to enable the block caching. Enabled by default. To disable, set it to `false`. - `EXPIRY_IN_HOURS`: Expiry time (in hours) for block cache. By default, it is set to `12`. - `CLIENT_POOL_SIZE`: Number of active API clients to be maintained in the pool. Only applicable when using the IPC or WS clients to connect with the Lisk node. By default, it is set to `10`. -- `WS_SERVER_PING_INTERVAL`: Interval (in milliseconds) at which the WS server checks for liveliness of all the connected clients. This should not be modified unless explicitly recommended by the development team. By default, it is set to `3000`. +- `WS_SERVER_PING_INTERVAL`: Interval (in milliseconds) at which the WS server checks for liveliness of all the connected clients. This should not be modified unless explicitly recommended by the development team. By default, it is set to `6000`. - `WS_SERVER_PING_INTERVAL_BUFFER`: A conservative assumption of the latency (in milliseconds) for WS server pings to arrive at the client. By default, it is set to `1000`. - `ENDPOINT_INVOKE_MAX_RETRIES`: Maximum number of endpoint invocation request retries to the node. By default, it is set to `3`. -- `ENDPOINT_INVOKE_RETRY_DELAY`: Delay (in milliseconds) between each endpoint invocation request retry. By default, it is set to `50`. +- `ENDPOINT_INVOKE_RETRY_DELAY`: Delay (in milliseconds) between each endpoint invocation request retry. By default, it is set to `1000`. - `CONNECTOR_EXIT_DELAY_IN_HOURS`: Delay (in hours) after which the blockchain-connector microservice exits. The service should restart automatically if deployed using Docker or PM2. To be removed eventually. To enable it, set it higher than `0`. By default, it is set to `0`. - `JOB_INTERVAL_CACHE_CLEANUP`: Job run interval to cleanup block cache. By default, it is set to `0`. - `JOB_SCHEDULE_CACHE_CLEANUP`: Job run cron schedule to cleanup block cache. By default, it is set to run every 12 hours (`0 */12 * * *`). diff --git a/services/blockchain-connector/config.js b/services/blockchain-connector/config.js index ad8864446f..4913b1cf62 100644 --- a/services/blockchain-connector/config.js +++ b/services/blockchain-connector/config.js @@ -117,11 +117,11 @@ config.job = { config.apiClient = { poolSize: Number(process.env.CLIENT_POOL_SIZE) || 10, - wsServerPingInterval: Number(process.env.WS_SERVER_PING_INTERVAL) || 3 * 1000, // in millisecs + wsServerPingInterval: Number(process.env.WS_SERVER_PING_INTERVAL) || 6 * 1000, // in millisecs pingIntervalBuffer: Number(process.env.WS_SERVER_PING_INTERVAL_BUFFER) || 1000, // in millisecs request: { maxRetries: Number(process.env.ENDPOINT_INVOKE_MAX_RETRIES) || 3, - retryDelay: Number(process.env.ENDPOINT_INVOKE_RETRY_DELAY) || 50, // in millisecs + retryDelay: Number(process.env.ENDPOINT_INVOKE_RETRY_DELAY) || 1000, // in millisecs }, };