Проблема с набором Bitnami Mongodb ReplicaSet в MS Azure - поздний ответ вторичного узла

Я создал Mongodb с набором реплик в Azure. У меня есть приложение rails, которое попадает в реплику, установленную на общедоступном IP-адресе. В моем наборе реплик есть 1 первичный и 2 вторичных узла. Я столкнулся с крайней задержкой ответа от вторичных узлов, но очень быстрым ответом от первичного узла на запрос isMaster.

Запрос на вторичный узел занимает много времени

COMMAND database = admin command = {: ismaster = ›1}

Mongoid 4.0.1 Рельсы 4.2.5

Почему mongodb обращается к вторичному узлу? Я в порядке, если он звонит, но почему это занимает так много времени, что удерживает мой запрос приложения около 12 секунд (6 секунд для каждого вторичного узла).

Я заранее ценю вашу помощь.

Общий доступ к журналу приложений, как показано ниже.

I, [2016-11-30T11: 27: 05.351584 # 11924] ИНФОРМАЦИЯ -: Начат GET / для 175.100.138.183 в 2016-11-30 11:27:05 +0000 I, [2016-11-30T11: 27: 05.352680 # 11924] INFO -: Обработка WelcomeController # index как HTML I, [2016-11-30T11: 27: 05.352786 # 11924] INFO -: Параметры: {request_client = ›production_abc_io, client_database =› localhost}

// Этот вызов первичного узла возвращает быстрый ответ D, [2016-11-30T11: 27: 05.356846 # 11924] DEBUG -: MOPED: 10.0.0.4:27017 COMMAND database = admin command = {: ismaster = ›1} время выполнения : 0,6903 мс

// Этот вызов вторичного узла занимает около 6 секунд D, [2016-11-30T11: 27: 11.356397 # 11924] DEBUG -: MOPED: 10.0.0.5:27017 COMMAND database = admin command = {: ismaster = ›1} время выполнения: 5999.3523 мс

// Этот вызов другого вторичного узла занимает около 6 секунд D, [2016-11-30T11: 27: 17.356509 # 11924] DEBUG -: MOPED: 10.0.0.6:27017 COMMAND database = admin command = {: ismaster = ›1 } время выполнения: 5999.8489 мс

D, [2016-11-30T11: 27: 17.357908 # 11924] ОТЛАДКА -: MOPED: replica_set_public_ip: 27017 QUERY database = localhost collection = clients selector = {_ id = ›BSON :: ObjectId ('55e9a684747265a004000000')} flags = [ : slave_ok] limit = 0 skip = 0 batch_size = nil fields = nil время выполнения: 1.1453 мс

D, [2016-11-30T11: 27: 17.360061 # 11924] ОТЛАДКА -: MOPED: replica_set_public_ip: 27017 QUERY database = localhost collection = base_users selector = {$ query = ›{client_


person Ketan Ghumatkar    schedule 30.11.2016    source источник


Ответы (1)


По умолчанию все операции чтения направляются на основной узел, если вы не изменили чтение параметр предпочтения. Этот параметр может объяснить, почему первичный узел вызывает вторичный.

Чтобы понять, почему запросы к вторичным серверам выполняются медленно, вы можете взглянуть на журналы mongodb, расположенные в '/opt/bitnami/mongodb/logs/mongodb.log'. Может там есть какая-то информация.

Кроме того, вы можете использовать команду mongotop для отслеживания базовой статистики использования для каждой коллекции и команду mongostats для отслеживания базовой статистики сервера MongoDB.

person Tomas Pizarro    schedule 01.12.2016
comment
У меня по умолчанию предпочтение чтения как read: primary. Я проверил mongodb.log. Но, к сожалению, никаких ключей к разгадке проблемы. Мне сложно угадать, кто и почему вызывает вторичные узлы. Можем ли мы указать, какой из них является главным, в файле конфигурации, чтобы он не вызывал isMaster на узлах для каждого запроса? - person Ketan Ghumatkar; 04.12.2016