Вы должны предоставить больше информации, чтобы мы могли понять, где в вашей системе существуют узкие места / плохие схемы.
Из того, что я могу понять, кажется, что вы используете HTTP-сервер node.js, который также выполняет задания с интервалами (cron?). Возможно, эти задания выполняют задачи синхронизации, блокируя очередь цикла событий.
http-серверы Node.js не могут правильно работать с задачами синхронизации. Так как node.js является однопоточным, управляемым событиями, движок не может больше ничего делать при выполнении задач синхронизации до самого конца задач.
Вы должны запустить другой процесс для тяжелых операций синхронизации.
const exec = require('child_process').exec;
exec('node your-sync-script.js', (e, stdout, stderr)=> {
if (e instanceof Error) {
console.error(e);
throw e;
}
console.log('stdout ', stdout);
console.log('stderr ', stderr);
});
Но, как я уже сказал, было бы полезно больше информации о вашей архитектуре, логике задач и спецификациях среды. Если ваши API используют базу данных и во время выполнения ваших задач cron вы сбрасываете данные, транзакции или что-то в этом роде, также возможно, что вы блокируете базу данных, и запросы https ожидают данных базы данных.