производительность — MongoDB + PHP Нет одновременного

У меня есть приложение, разработанное на PHP с использованием MongoDB для атаки на базу данных. Моя проблема в том, что в некоторых случаях, чтобы сделать запрос, занимает много времени, и выдается следующая ошибка:
Исправляемая фатальная ошибка: аргумент 1, переданный MongoCollection :: __ construct (), должен быть экземпляром MongoDB, ноль указан в ..

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

Я использую MongoDB 2.6.5, PHP 5.3.3-7 y PHP MongoDB Driver 1.6.8.

Пример кода:

//Function call from Application
<php>
//Conectamos con la BBDD
$db = connectBbdd("modelo");

$mongoNci = $_SESSION["sesion_nci"];
$collection = new MongoCollection($db, 'users');
$js = "function() {
return this.Nci == '$mongoNci';
}";
$cursor = $collection->find(array('$where' => $js));
$array = iterator_to_array($cursor);
</php>

<php>
function connectBbdd($dbname){
Mongo::setPoolSize(10);
$m = new MongoClient("mongodb://ipremote:port");
$db = $m->$dbname;

return $db;
}
</php>

3

Решение

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

Так как ваши запросы медленные, также возможно, что некоторые из этих запросов все еще выполняются — занимая некоторые из соединений.

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector