У меня вчера была эта проблема
Сценарий: репликация PHP 5.4 + mongodb 2.4.8 с 3 серверами
Когда демон mongodb был недоступен, но сеть того же сервера Linux работала
для приложения php проблем не было.
Когда сервер linux любого из трех серверов mongodb в репликационном сервере был недоступен, загрузка страницы длилась вечно, очень медленно для php .
Я пришел к выводу, что это не было связано с mongodb, это была проблема сети .
Итак, я только что установил параметр timeout в хэше параметров соединения с репликацией, например:
$options = [
"replicaSet" => $_ENV['MONGODB_REPLICA'],
"readPreference" => \MongoClient::RP_SECONDARY_PREFERRED,
"timeout" => 1000
];
self::$mongoClient = new \MongoClient($_ENV['MONGODB_URI'], $options);
И это решение устранило проблему для меня.
Я надеюсь, что это может помочь вам, ребята.