Я использую последние версии MongoDB (на сервере Win 64) и драйвер C #. У меня есть служба Windows, которая выполняет 800 операций чтения и обновления в минуту, и через несколько минут текущие используемые потоки превышают 200, а затем каждый отдельный вызов mongodb выдает эту ошибку:
System.IO.IOException: Unable to read data from the transport connection: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
at System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
at System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
У меня есть индекс по полям, которые читаются, поэтому проблема не в этом. Вот код для чтения:
public static UserUpdateMongo Find(int userId, long deviceId)
{
return Collection().Find(
Query.And(
Query.EQ("UserId", userId),
Query.EQ("DeviceId", deviceId))).FirstOrDefault();
}
Я инстанцирую соединение так:
var settings = new MongoServerSettings
{
Server = new MongoServerAddress(segments[0], Convert.ToInt32(segments[1])),MaxConnectionPoolSize = 1000};
Server = MongoServer.Create(settings);
}
Я что-то не так делаю или есть проблема с драйвером C #? Помогите !!