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
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    octobre 2016
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2016
    Messages : 129
    Points : 61
    Points
    61
    Par défaut 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
    Avatar de mikedavem
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    août 2005
    Messages
    5 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : août 2005
    Messages : 5 222
    Points : 12 152
    Points
    12 152
    Par défaut
    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
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    octobre 2016
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2016
    Messages : 129
    Points : 61
    Points
    61
    Par défaut
    bonjour David ,

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

    maintenant pour la valeur 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
    Avatar de mikedavem
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    août 2005
    Messages
    5 222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Conseil

    Informations forums :
    Inscription : août 2005
    Messages : 5 222
    Points : 12 152
    Points
    12 152
    Par défaut
    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é

    Homme Profil pro
    Auditeur informatique
    Inscrit en
    novembre 2014
    Messages
    663
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : novembre 2014
    Messages : 663
    Points : 1 214
    Points
    1 214
    Billets dans le blog
    2
    Par défaut
    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
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    octobre 2016
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2016
    Messages : 129
    Points : 61
    Points
    61
    Par défaut
    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

Discussions similaires

  1. [MySQL] Modification Connection Timeout
    Par Herzim dans le forum Windows Forms
    Réponses: 11
    Dernier message: 09/04/2014, 19h52
  2. connection timeout (sql server)
    Par Pol63 dans le forum VB.NET
    Réponses: 1
    Dernier message: 18/09/2008, 15h55
  3. [LDAP] connection timeout
    Par blackwizard dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 16/04/2007, 15h19
  4. [Oracle8i][JDBC]Probleme de perte de connection, timeout ?
    Par Drizzt [Drone38] dans le forum Oracle
    Réponses: 2
    Dernier message: 31/03/2006, 16h45
  5. [TOMCAT] serviverr.log => connection timeout reached
    Par Cako19 dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 14/02/2006, 18h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo