Heim > Fragen und Antworten > Hauptteil
Bitte fragen Sie den Meister, ob mein Verständnis der folgenden Parameter von Mongodb korrekt ist?
maxWaitTime=120000 bedeutet, dass Sie eine Verbindung zu Mongodb hergestellt haben und auf die Rückgabe von Daten warten
connectTimeout=10000 bezieht sich auf die Zeit, zu der eine Mongodb-Verbindung angefordert wird, noch keine Verbindung besteht und auf die Verbindung gewartet wirdsocketTimeout=0 bedeutet, dass die Verbindung hergestellt wurde und Daten übertragen werden. Hier ist die Wartezeit bis zum Ende der Datenübertragung
过去多啦不再A梦2017-05-17 10:04:52
Stackoverflow上有一个有140次赞的回答:How to configure MongoDB Java driver MongoOptions for production use?
connectTimeout. As the name suggest number of milliseconds the driver will wait before a connection attempt is aborted. Set timeout to something long (15-30 seconds) unless there's a realistic, expected chance this will be in the way of otherwise succesful connection attempts. Normally if a connection attempt takes longer than a couple of seconds your network infrastructure isn't capable of high throughput.
maxWaitTime. Number of ms a thread will wait for a connection to become available on the connection pool, and raises an exception if this does not happen in time. Keep default.
socketTimeout. Standard socket timeout value. Set to 60 seconds (60000).
淡淡烟草味2017-05-17 10:04:52
补充说明如下:
MongoDB Client驱动设置中网络相关的等待设置比较多,依次介绍如下:
1、Client找Server所需要等待的时间,在RS或者Shard环境下,Client需要找到它所需的Server
对应的参数:ServerSelctionTimeOut
2、找到Server之后就需要建立Connection
1)每次都创建Connection,对应的网络等待的参数就是:connectTimeout
2)Connection pooling的话,从Connection Pool取得Connection,对应的网络等待的参数:maxWaitTime.
3、找到Connection之后,就有了Socket通信,在客户端和MonogoDB的Socket通信过程中的网络等待时间的参数就是:socketTimeout
供参考。
Love MongoDB!Have Fun!