Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réplications SQL Server Discussion :

Connection Timeouts in Multi-subnet Availability Group


Sujet :

Réplications SQL Server

  1. #1
    Membre du Club
    Connection Timeouts in Multi-subnet Availability Group
    bonjour a tous

    J'ai configuré la mise en cluster sur deux sites

    Sur chaque site, il existe une seule instance de SQL 2014 Enterprise et j'utilise des groupes de disponibilité AG

    Lors de la configuration initiale du cluster, par défaut, RegisterAllProvidersIP est défini sur 1 de sorte que l'adresse IP active et l'adresse IP inactive de Listen doivent être enregistrées dans le DNS

    les applications clientes sont développer avec une framwork ancienne et je ne peut plus définir le paramètre multi subnet failover=true dans la chaîne du connexion

    Qui a une une retour d’expérience sur ce problème de Timeout et comment je peut le résoudre dans mon cas

    merci pour vos retour d’expérience

  2. #2
    Expert éminent sénior
    Si tes applications ne peuvent pas utiliser le paramètre de connexion multi subnet failover=true alors il faut regarder plutôt du côté du paramètre HostRecordTTL de chaque listener pour réduire au maximum (et dans la mesure du raisonnable) la durée de vie de l'entrée DNS correspondante dans le cache client.

    Réduire la valeur peut permettre de minimiser le temps de connexion applicatif mais une valeur trop faible peut engendrer un overhead d'interrogation du DNS puisque le cache DNS client est invalidé plus rapidement. Il faut trouver le bon compris ici. Par ailleurs comme les applications "legacy" ne permettent pas une utilisation optimale du paramètre RegisterAllProvidersIP (accès sérialisé plutôt que parallèle), une tentative de connexion peut potentiellement s'effectuer en 2 fois pour atteindre la bonne IP.

    ++

  3. #3
    Membre du Club
    bonjour David ,

    j'ai minimiser la valeur de host record TTL alwayson de 1200S vers la valeur 300s

    maintenant pour la valeur
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    RegisterAllProvidersIP
    aura t'il de gain si je procède a modifier ce valeur de 1 vers 0

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    Get-ClusterResource yourListenerName | Set-ClusterParameter RegisterAllProvidersIP 0   
    Get-ClusterResource yourListenerName|Set-ClusterParameter HostRecordTTL 300


    merci

  4. #4
    Expert éminent sénior
    Il faut voir avec ton contexte. Le problème de passer la valeur de RegisterAllProvidersIP à 0 signifie qu'une seule IP sera associée dans ce cas. Ceci va t'exposer à un problème de réplication des mises à jour DNS entre tes datacenters si un basculement se produit. En général c'est le cas dans un contexte multi sous-réseau multi-datacenters.

    La réplication est configurée généralement toutes les 15min et pendant ce laps de temps si une mise à jour est faite dû à un failover il faudra attendre dans le pire des cas 15min (valeur par défaut à vérifier) + 21s (ou 15s) de timeout applicatif. Le fait d'avoir RegisterAllProvidersIP = 1 permet de minimiser cet impact avec une interrogation sérialisée de chaque IP avec uniquement timeout applicatif.

    ++

  5. #5
    Membre éprouvé
    autre remarque

    Si vous avez procédé à crée votre ressource Listen a travers le console du cluster windows le paramétre RegisterAllProvidersIP prend la valeur 0

    alors que Si vous avez crée a Travers SSMS RegisterAllProvidersIP prend la valeur 1

  6. #6
    Membre du Club
    Citation Envoyé par mikedavem Voir le message
    Il faut voir avec ton contexte. Le problème de passer la valeur de RegisterAllProvidersIP à 0 signifie qu'une seule IP sera associée dans ce cas. Ceci va t'exposer à un problème de réplication des mises à jour DNS entre tes datacenters si un basculement se produit. En général c'est le cas dans un contexte multi sous-réseau multi-datacenters.

    La réplication est configurée généralement toutes les 15min et pendant ce laps de temps si une mise à jour est faite dû à un failover il faudra attendre dans le pire des cas 15min (valeur par défaut à vérifier) + 21s (ou 15s) de timeout applicatif. Le fait d'avoir RegisterAllProvidersIP = 1 permet de minimiser cet impact avec une interrogation sérialisée de chaque IP avec uniquement timeout applicatif.

    ++
    Salut David

    le client il m'a confirmé qu'il a des applications qui utilise le Framwork3.5 du coup il est impossible de mettre le paramètre multisubnetfailover=true dans la chaîne de connexion
    donc on serait obliger de mettre le paramètre RegisterAllProvidersIP a 0 avec une seul Ip mis dans le DNS

    En cas de basculement du neudA vers le noeudB suite a une redémarage windows si je procède a un retour manuelle vers le noeud A faut t'il avoir 15 minute pour la la

    connexion de nouveau ou il va pointer sur enregistrement DNS qui existe déjà

    merci pour votre explication