Czy te przerwy miały miejsce po okresach bezczynności? Prawdopodobnie Twoja pula połączeń stała się nieaktualna po zbyt długim okresie bezczynności.
Jeśli tak, można to zrobić na dwa sposoby:
-
Przechwyć wyjątki limitu czasu gniazda, a natychmiastowe żądanie powinno mieć dostęp do nowej puli połączeń. (jest tak, jeśli opcja automatycznego ponownego łączenia w obiekcie połączenia jest pozostawiona na wartość true, co jest ustawieniem domyślnym).
-
Użyj niestandardowego utrzymywania aktywności, aby okresowo pingować serwer mongod przy użyciu tej samej puli połączeń, aby pula pozostała świeża.
Opcja 1 jest łatwa do zaimplementowania, ale domyślny limit czasu gniazda wynosi około 30 sekund, co jest dość nadmierne. Możesz zmienić to ustawienie zgodnie z wymaganiami.
Opcja 2 to trochę hack, obejmujący wątki.