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

Administration SQL Server Discussion :

MSSQL 2012 Standard et HyperThreading


Sujet :

Administration SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Par défaut MSSQL 2012 Standard et HyperThreading
    Bonjour à tous,

    une petite question me trotte dans la tête et je n'arrive pas vraiment à trouver de réponse (ou je ne sais pas comment faire)

    J'utilise une version standard de MSSQL 2012 sur un serveur 4 CPU 8-cores soit 64 cores avec l'hyperthreading.
    L'edition standard n'adressant que 16 cores (ou 32 HT), je me retrouve à n'utiliser que la moitié des cpu.

    Ma question est donc la suivante :

    Si en activant le HT et en jouant sur le masque d'affinité pour utiliser 32 cores (un sur deux) de façon à utiliser un core logique par core réel, le comportement sera-t-il proche d'une utilisation de 32 cores réels sans HT ?

    Merci de votre réponse.

  2. #2
    Membre chevronné
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut
    Bonjour,

    Lorsque vous chargez 32 voitures de une personne sur une route de 8 voies est ce que celle ci peuvent passer en même temps sur chaque voie ?

    Pourquoi ne pas charger chaques voiture de 4 personnes sur 8 voies ?

    C'est un peu l'image que vous devez garder en tete...

    SQL server travail en priorité sur les coeurs physique et non sur les coeurs logique.

    En activant l'HT vous pouvez même avoir des dégradations de performances... liés au fait que vous utilisez toutes les ressources dispo et vous allez même chercher a les saturer.

    Un peu d'aide dans la démarche de votre questionnement :

    http://www.dbdelta.com/sql-server-and-hyper-threading/

    http://serverfault.com/questions/194...server-install

    Julien

  3. #3
    Membre à l'essai
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Septembre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Septembre 2011
    Messages : 7
    Par défaut
    Bonjour julien,

    Merci pour votre réponse.
    Mais celle-ci ne semble par correspondre à ma question.

    Mon interrogation se porte sur le comportement d'un thread dans un environnement HT.

    Je ne peux utiliser que 16 cores physiques en MSSQL Standard sur les 32 que comporte le serveur.
    Avec le HT activé, je peux utiliser 32 cores logiques en MSSQL Standard sur les 64 présentés par le serveur.

    Ma question est donc : En activant le HT, j'ai ainsi la possibilité (via l'affinity mask) d'utiliser un core logique pour chaque paire présentée pour un cœur physique. De cette façon, vais-je vraiment exploiter la totalité de la puissance de chaque core physique ou existe-t-il une limitation ?

    Pour expliciter ma question :

    Ex : En adressant uniquement les Cores Logiques paires, vais-je utiliser les 32 cores physiques à plein ?
    CP0 = CL0 + CL1
    CP1 = CL2 + CL3
    CP3 = CL4 + CL5
    ......
    CP31 = CL60 + CL61
    CP32 = CL62 + CL63

  4. #4
    Expert confirmé

    Avatar de François DORIN
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2016
    Messages
    2 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Charente Maritime (Poitou Charente)

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

    Informations forums :
    Inscription : Juillet 2016
    Messages : 2 761
    Billets dans le blog
    21
    Par défaut
    Bonjour,

    Sauf erreur de ma part, la réponse est non, cela ne marchera pas.

    Pourquoi ? Car SQL Server regarde les deux limites. Ce n'est pas l'une ou l'autre, c'est les deux.
    Si tu essaies d'utiliser 32 cores physiques en jouant sur les affinités, tu vas te retrouver au mieux avec une instance qui n'utilisera que 16 cores physiques.

    Si tu veux pouvoir utiliser toute la puissance de ton serveur, tu peux installer une deuxième instance de SQL Server.

  5. #5
    Membre chevronné
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Décembre 2007
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Décembre 2007
    Messages : 327
    Par défaut
    Bonjour,

    Pour ma part, je dirais non également en standard nous sommes a 16 coeurs max, SQL Server va detecter les 32 coeurs et n'en utilisera que 16.

  6. #6
    Membre très actif Avatar de Bernardos
    Homme Profil pro
    Consultant Senior dba sql server & Microsoft Business Intelligence
    Inscrit en
    Avril 2008
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Senior dba sql server & Microsoft Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 333
    Par défaut
    Bonjour,

    Pour ma part, je dirais non également en standard nous sommes a 16 coeurs max, SQL Server va detecter les 32 coeurs et n'en utilisera que 16.
    Mais comme dit François Dorin, tu peux faire 2 instances utilisant chacune 16 coeurs.
    Par contre, moi perso je ne suis pas pour l'utilisation de l'hyperthreading pour des serveurs hébergeant des instances SQL server.
    Cordialement,

Discussions similaires

  1. [2012] Processeurs sur MSSQL 2012
    Par DBA_OCP dans le forum Administration
    Réponses: 2
    Dernier message: 13/04/2015, 17h12
  2. [XE7-MsSql 2012] Probleme de dans dans windows 8
    Par mario9 dans le forum Langage
    Réponses: 6
    Dernier message: 16/03/2015, 15h22
  3. [2012] Base MSSQL 2012 vers sqlite / sql ce
    Par djchou dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/09/2014, 14h49
  4. Downgrade base MSSQL 2012 -> MSSQL 2008
    Par feralp dans le forum Administration
    Réponses: 1
    Dernier message: 20/03/2013, 21h18
  5. Connexion a serveur MSSQL 2012 express
    Par mario9 dans le forum Administration
    Réponses: 2
    Dernier message: 13/12/2012, 12h02

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