MongoDB — очередь ожидания для подключения к серверу заполнена

Я использую приведенный ниже код для подключения mongo DB.

public static class MongoDBHandler
{
    static IMongoClient _client;
    static IMongoDatabase _database;
    static string MongoDBConnectionString;

    static IMongoClient mClientConnection()
    {
        MongoDBConnectionString = System.Configuration.ConfigurationManager.AppSettings["connectionString"];
        _client = new MongoClient(MongoDBConnectionString);
        return _client;
    }

    public static IMongoDatabase mDatabase()
    {
        try
        {
            if (_client == null)
            {
                _client = mClientConnection();
            }

            if (_database == null)
            {
                var mongoUrl = new MongoUrl(MongoDBConnectionString);
                _database = _client.GetDatabase(mongoUrl.DatabaseName);
            }
            return _database;
        }
        catch
        {
            throw;
        }
    }
}

Я использую код выше класса, как показано ниже: -

protected static IMongoDatabase _database;

public void GetData()
{
    _database = Assistant.MongoDBHandler.mDatabase();
    IMongoCollection<Models.RoomTypeMappingOnline> collection_rto = _database.GetCollection<Models.RoomTypeMappingOnline>("collection");
    //Rest of code
}

Мой код работает нормально. Я могу получить данные без каких-либо проблем с меньшим количеством запросов.

Но когда я получаю больше запросов, я получаю сообщение об ошибке «Очередь ожидания для подключения к серверу заполнена».

Ниже моя строка подключения: -

mongodb://admin:password@server:11111/databse?authSource=sa&appName=database&connectTimeoutMS=5000&minPoolSize=3000&retryWrites=true&waitQueueMultiple=15

Пожалуйста, предложите, какие изменения я могу внести в свой код, чтобы он работал без ошибок.

Использование JavaScript и MongoDB
Использование JavaScript и MongoDB
Сегодня я собираюсь вкратце рассказать о прототипах в JavaScript, а также представить и объяснить вам работу с базой данных MongoDB.
1
0
2 403
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я просто увеличиваю minPoolSize=3000 до minPoolSize=5000 в соединении mongo db. Это решит мою проблему.

Также обратите внимание, что если вы увеличите минимальный размер пула, то также увеличится использование ЦП и памяти сервера mongo. Поэтому вам нужно следить за этим, прежде чем увеличивать размер.

Другие вопросы по теме