MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB:Nach 30000 ms ist ein Timeout aufgetreten, nachdem ein Server mit CompositeServerSelector ausgewählt wurde

Wir haben endlich herausgefunden, wie wir dieses Problem umgehen können, aber ich verstehe immer noch nicht, was passiert. In unserem Fall haben wir einen Server, der ~10 Signalr-Hubs erzeugt, die ihre Daten von MongoDB beziehen. Es scheint, dass die App beim Start mehrere schnelle Aufrufe an MongoDB machte, um den ersten Datensatz zu erhalten, und obwohl es gelegentlich funktionierte, tat es dies meistens nicht. Wir haben dies schließlich gelöst, indem wir eine Verzögerung von einer Sekunde zwischen dem Laden jedes SignalR-Hubs hinzugefügt haben, sodass die anfängliche Abfrage etwas verzögert wurde und wir keine Konflikte hatten.

Das Seltsame daran ist, dass keine dieser Sammlungen eine große Datenmenge hat und die anfängliche Ladung normalerweise <100 Dokumente pro Sammlung (max.) beträgt. Sobald die Dinge initialisiert sind, scheint es egal zu sein, wie oft wir MongoDB treffen. Es scheint nur beim anfänglichen Laden zu sein.