Я запускаю бесплатное приложение 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 в этой ситуации?