Проблема набора репликации Bitnami Mongodb в MS Azure - поздний ответ вторичного узла
Я создал Mongodb с набором реплик на Azure. У меня есть приложение рельсов, поражающее реплику, установленное на публичном IP Мой набор реплик имеет 1 основной и 2 вторичных узла. Я сталкиваюсь с чрезвычайной задержкой в ответе от вторичных узлов, но очень быстрый ответ от первичного узла на запрос isMaster.
Запрос занимает много времени для вторичного узла
База данных COMMAND = команда администратора ={:ismaster=>1}
Mongoid 4.0.1 Rails 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] ИНФОРМАЦИЯ -: Обработка индексом WelcomeController# в виде HTML I, [2016-11-30T11:27:05.352786 #11924] ИНФОРМАЦИЯ -: Параметры: {"request_client"=>"production_abc_io", "client_database"=>" локальный "}
// Этот вызов основного узла возвращает быстрый ответ D, [2016-11-30T11:27:05.356846 #11924] ОТЛАДКА -: MOPED: 10.0.0.4:27017 База данных COMMAND = команда администратора ={:ismaster=>1} время выполнения: 0,6903мс
// Этот вызов вторичного узла занимает около 6 секунд D, [2016-11-30T11:27:11.356397 #11924] ОТЛАДКА -: MOPED: 10.0.0.5:27017 база данных COMMAND = команда admin ={:ismaster=>1} время выполнения: 5999,3523мс
// Этот вызов другому вторичному узлу занимает около 6 секунд D, [2016-11-30T11:27:17.356509 #11924] ОТЛАДКА -: 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 = коллекция локальных хостов = селектор клиентов = {"_ id" => BSON:: ObjectId ('55e9a684747265a004000000')} flags = [: slave_ok] limit = 0 skip = 0 batch_size = nil fields = nil runtime: 1.1453ms
D, [2016-11-30T11: 27: 17.360061 # 11924] ОТЛАДКА -: MOPED: replica_set_public_ip:27017 База данных QUERY = коллекция локального хоста = селектор base_users ={"$query"=>{"client_
1 ответ
По умолчанию все операции чтения направляются на основной узел, если вы не изменили параметр предпочтения чтения. Этот параметр может объяснить, почему первичный узел вызывает вторичные.
Чтобы выяснить, почему запросы к вторичным серверам медленные, вы можете взглянуть на журналы mongodb, расположенные по адресу /opt/bitnami/mongodb/logs/mongodb.log. Может быть, там есть какая-то информация.
Кроме того, вы можете использовать mongotop
команда для мониторинга основной статистики использования для каждой коллекции и mongostats
команда для мониторинга основной статистики сервера MongoDB.