Почему мой Node.js сервер, использующий MongoDB / Heroku, иногда работает медленно? - PullRequest
0 голосов
/ 04 апреля 2020

Я запускаю бесплатное приложение Heroku уровня в облаке, используя Node.js, наряду с бесплатным кластером MongoDB уровня. Я недавно развернул свой веб-сервер (используемый нашей игрой для отправки и получения результатов), и он отлично работал в течение первой ночи. На следующий день я играл в нашу собственную игру и заметил, что таблицы лидеров загружались крайне медленно. Иногда он не загружается вообще. Я подошел к бревнам и увидел, что service раз было через крышу, иногда достигая ~ 30 сек c. Я увеличил poolSize на соединении, но он все еще работал медленно. Сегодня он работает хорошо с небольшим количеством проблем, хотя все еще пронизано абсурдно медленным временем отклика, висящим вокруг ~ 20 se c области. Это кажется таким случайным. Я посмотрел на mon goose, основываясь на этом ответе , но, согласно документам Node.js драйвера MongoDB, одно соединение само по себе является пулом ... Что может происходить? Мое соединение с клиентом получается следующим образом:

var DB = null;
mongodb.connect(uri, { useNewUrlParser: true, useUnifiedTopology: true, poolSize: 70 }, (err, cli) => {
    if (err) {
        console.log("Error connecting to MongoDB Client: " + err);
        return null;
    }
    client = cli;
    DB = client.db(<database>);
});

Это живой сервер, с живой игрой в зависимости от него, и своевременные ответы будут с благодарностью. Спасибо за любую помощь, которую я могу получить.

РЕДАКТИРОВАТЬ: Поможет ли мне переход в пн goose в этой ситуации?

...