1 回答

TA貢獻1802條經驗 獲得超5個贊
怪物。客戶端管理內部連接池。您不必擔心這一點。 可安全并發使用。mongo.Client
如果要限制內部池,可以在連接時使用 ClientOptions 執行此操作。例如:
clientOpts := options.Client().ApplyURI("<your-connection-string>").
SetMaxPoolSize(100) // Allow no more than 100 connections
client, err := mongo.Connect(context.TODO(), clientOpts)
if err != nil {
log.Fatal(err)
}
引用自 ClientOptions.SetMaxPoolSize():
SetMaxPoolSize 指定驅動程序的連接池中允許的最大連接數到每個服務器。如果達到此最大值,則對服務器的請求將阻塞。這也可以通過“maxPoolSize”URI選項進行設置(例如“maxPoolSize=100”)。默認值為 100。如果此值為 0,則將其設置為數學。MaxInt64.
ClientOptions還具有設置 和 屬性的方法。MaxConnIdleTimeMinPoolSize
但要知道,這不會加快速度。如果你有十萬個goroutines都與MongoDB交互,那么MongoDB很可能成為你的瓶頸。
- 1 回答
- 0 關注
- 139 瀏覽
添加回答
舉報