J'ai créé Mongodb avec Replica Set sur Azure. J'ai l'application de rails frappant la réplique réglée sur l'IP publique. Mon jeu de réplicas a 1 noeud principal et 2 noeud secondaire. Je suis confronté à un décalage extrême en réponse des nœuds secondaires, mais une réponse très rapide du nœud principal pour la requête isMaster.Bitnami Mongodb ReplicaSet Définir le problème sur MS Azure - Réponse secondaire de noeud secondaire
requête qui prend à beaucoup de temps pour le noeud secondaire
base de données COMMAND = commande admin = {: IsMaster => 1}
MongoId 4.0.1 Rails 4.2.5
Pourquoi mongodb appelant au noeud secondaire? Je suis d'accord s'il appelle, mais pourquoi cela prend tellement de temps à maintenir ma demande d'application pendant environ 12 secondes (6 secondes pour chaque nœud secondaire).
J'apprécie votre aide à l'avance.
Sharing application log comme ci-dessous
I, [2016-11-30T11: 27: 05,351584 # 11924] INFO -: Commencé GET "/" pour 175.100.138.183 à 30/11/2016 11:27 : 05 +0000 I, [2016-11-30T11: 27: 05.352680 # 11924] INFO -: Traitement par le contrôle de bienvenue # index en HTML I, [2016-11-30T11: 27: 05.352786 # 11924] INFO - : Paramètres: { "request_client" => "production_abc_io", "client_database" => "localhost"}
// Cet appel au nœud primaire retour rapide reponse D, [2016-11-30T11: 27: 05,356846 # 11924] DEBUG -: MOPED: 10.0.0.4:27017 COMMANDE database = admin commande = {: ismaster => 1} runtime: 0,6903ms
// Cet appel au nœud secondaire prend environ 6 secondes D, [2016-11-30T11: 27 : 11.356397 # 11924] DEBUG -: vélomoteur: 10.0.0.5:27017 base de données COMMAND = commande admin = {: IsMaster => 1} Durée: 5999.3523ms
// Cet appel à un autre nœud secondaire prenant environ 6 secondes D, [2016-11-30T11: 27: 17.356509 # 11924] DEBUG -: MOPED: 10.0.0.6:27017 base de données COMMAND = admin commande = {: ismaster => 1} durée d'exécution: 5999.8489ms
D, [ 2016-11-30T11: 27: 17.357908 # 11924] DÉBOGUE -: MOPED: replica_set_public_ip: 27017 QU ERY base de données = localhost collection = clients selector = {"_ id" => BSON :: ObjectId ('55e9a684747265a004000000')} drapeaux = [: slave_ok] limite = 0 skip = 0 batch_size = nil champs = nil durée: 1.1453ms
D, [2016-11-30T11: 27: 17,360061 # 11924] DEBUG -: vélomoteur: replica_set_public_ip: 27017 = base de données qUERY collection localhost = base_users sélecteur = { "$ query" => { "Client_
J'ai la préférence de lecture par défaut comme lu: primaire. J'ai vérifié mongodb.log. Mais malheureusement, aucun indice de problème. Il est difficile pour moi de deviner qui et pourquoi appelle des nœuds secondaires. Pouvons-nous spécifier quel est le maître dans le fichier de configuration afin qu'il n'appelle pas isMaster sur les nœuds pour chaque requête? –