IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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 :

Performances dégradées sur la base "slave" abonnée


Sujet :

Réplications SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 71
    Points : 50
    Points
    50
    Par défaut Performances dégradées sur la base "slave" abonnée
    Bonjour,

    Nous sommes en phase de test de mise en place d'une réplication SQL Server d'une base "master" vers une seule "slave" abonnée. (instances et serveurs différents)

    Le côté mise en place sur environnement de test n'a posé aucun problème, les bases se répliquent bien en mode transactionnel après un snapshot initial, je n'ai que quelques secondes d'écart en terme de données, ce qui est tout à fait acceptable puisque l'idée de la slave est de mettre sur pied une alternative en readonly pour du reporting et arrêter de solliciter la prod.

    Sauf que je m'aperçois que sur l'instance où la base "slave" se trouve, j'ai un souci de performances sur des requêtes. Attention : pas un souci de performance de réplication, un souci de perf sur la base SQL "slave", autrement dit un SELECT sur une table met 10 secondes sur la slave alors qu'il met 3 secondes sur master. Alors que la Slave n'est absolument pas sollicitée.
    Si je fais un backup de la master pour restore sur la même instance où se trouve la base slave, pour comparer, là je retrouve des performances comparables à la master. Seule la base "slave" semble être impactée sur l'instance, pas la copie de la prod faite en backup/restore à la main.

    Comment l'expliquer ?

    Les pistes déjà explorées :

    - problème d'index tables (j'ai activé depuis la réplication des index non clustered qui ne l'étaient pas par défaut), mais même problème ensuite, pas d'amélioration avec pourtant des index identiques entre prod et slave
    - arrêt du moteur de synchronisation sur l'instance "slave" juste pour tester (car j'ai choisi de le faire tourner sur le slave pour déporter la charge de travail dessus plutôt que la prod), mais pas d'amélioration non plus

    Auriez-vous des pistes générales à explorer ? Est-ce quelque chose de connu ? (Par ex. une base slave issue de réplication est par définition moins performante ?)

    Merci pour vos lumières

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    • Est-ce que vos machines sont strictement identiques ? Si ce sont des VM, est-ce que les coeurs et le RAM sont fixés ?
    • Les versions / éditions de SQL Server sont-elles les memes ?
    • Les ressources allouées sont-elles identiques ?
    • La réplication transactionnelle ne propage pas la maintenance des index... Faites vous une maintenance d'index et stats régulièrement ?
    • Êtes vous en mode de verrouillage optimiste ou pessimiste ?
    • La base tempdb est-elle correctement dimensionnée ? (y a t-il eu des opérations de croissance de fichiers)...



    Enfin, très important, OS ? Version/edition de SQL Server ? Patch/CU ???

    A
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 71
    Points : 50
    Points
    50
    Par défaut
    Bonjour, merci pour ta réponse.

    Je veux bien entendu bien répondre à ces questions, mais comment expliquer que sur même instance, donc même serveur, une copie backup/restore de la base prod soit plus performante que la base slave complètement répliquée à partir de la prod ?
    On devrait dans ce cas avoir des performances identiques non (en considérant que les index sont bien répliqués ce qui est le cas) ? C'est surtout ça ma question.

    J'ai l'impression que les questions posées ne tiennent pas compte de cette précision, si ? (Car clairement, nous ne sommes pas dans une condition "best performances" car nous sommes en tests, le but ce ne sont pas les perfs. C'est juste de comprendre pourquoi on a cette disparité sur une base a priori identique, sur même instance, même serveur)

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 732
    Points
    52 732
    Billets dans le blog
    5
    Par défaut
    Il peut y avoir de multiples réponses, comme par exemple le vieillissement des statistiques, la non maintenance des index ou encore le verrouillage pessimiste.....

    Par exemple, votre base répliquée fait de nombreux INSERT/UPDATE/DELETE ce qui pose des verrous exclusifs et retarde/empêche les lectures...

    C'est pourquoi il est important de séraaliser le problème en répondant à toutes les questions....

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/07/2021, 11h36
  2. Problèmes de performances sur une base oracle 10g
    Par ORAMEL dans le forum Oracle
    Réponses: 3
    Dernier message: 11/09/2007, 09h11
  3. Réponses: 7
    Dernier message: 05/06/2006, 22h04
  4. [Crystal] Performance sur grosses base de données
    Par Nico118 dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 14/11/2003, 15h27

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