Я сталкивался с этой проблемой с mongodb 2.4, а теперь и с mongodb 2.6. Я использую apache, php 5.4, драйвер mongodb 1.4.5.
Я изменил ulimit, а также добавил 99-mongodb-cproc.conf в /etc/security/limits.d/ с помощью
* soft nproc 64000
root soft nproc 64000
root hard nproc unlimited
Я установил CSF и уже пытался отключить его. Проверил пинг сети, время пинга меньше 0,0200 мс.
Это реплика с тремя серверами. Один основной, второй реплики и третий арбитр.
Я пытался установить связь PrimaryPreffered SecondaryPreffered а также первичный.
(Из этих конфигов Primary лучше всего работает для меня.)
Из каждых 5 соединений, которые я делаю, 1 отказывает. И это совершенно случайно. Я не могу предсказать или найти какую-либо тенденцию, чтобы предсказать эту неудачу. Временное соединение прерывается случайным образом, на mongodb имеется около 140-142 соединений. Это не слишком много, я полагаю.
Сервер достаточно сильный, чтобы поддерживать хорошую пропускную способность и имеет 64 ГБ ОЗУ.
Я пытался вытащить все сценарии и сервисы, которые пишут или читают на mongodb. Тем не менее проблема сохраняется. При сбое соединения отсутствует нагрузка на сервер, интенсивно не используется ОЗУ.
Я использую PHP MongoDB Driver и тоже скептически к этому отношусь.
Я использую mongoDB для производства, а также просмотрел производственные заметки.
Помимо время обо всем позаботились. Время я не буду иметь ничего общего с созданием связи.
После долгой борьбы за более чем 50 часов мне нужна помощь сообщества по этому вопросу, может быть, я что-то упустил? Пожалуйста, помогите мне с этим вопросом!
Задача ещё не решена.
Других решений пока нет …