none
Ratio serveur Base de donnée RRS feed

  • Question

  • Bonjour,

    Actuellement en stage dans une entreprise qui utilise une base de données de taille d'environs 50 Go j'aimerais savoir s’il existe un ratio entre la taille de mémoire vive (ram) et la taille de la base de données ? 

    J'aimerais savoir aussi le type de configuration disque dur à utiliser car nous avons actuellement préconisé du Raid 1 pour le système et du raid 10 pour la base de donné ainsi que le tempdb.

    Une autre question qui m’a été posé c'est le nombre de processeur qu'il est préconisé sachant qu'il y aura 150 utilisateurs qui travailleront sur la base de données

    Je vous remercie des réponses que vous pourrez me fournir

    mardi 22 novembre 2011 08:47

Réponses

  • Bonjour

    Il n'y a pas de ratio entre la taille de la base de données et la mémoire... Cela dépend des tables / index et d'autres part des requêtes qui sont executées.

    En effet une table peut comporter des miiliard de lignes, si elle est indexé correctement et que la requête renvoie une ligne la quantité de mémoire nécessaire est minime (de l'ordre de la centaine de ko) et la performance excellente. A l'inverse une moyenne table mal requêtée peut se reveler un gouffre en termes de perf et mémoire.

    On considère que c'est la partie lue (depend des index, mais on peut retenir comme pire hypothèse la plus grande table ou en cas de partitionnement la plus grande partition) de la table qui doit tenir en mémoire pour des perfomances optimale. Cependant il est possible de fonctionner avec seulement une portion de mémoire disponible, les performances sont moindre mais la requête s'execute tout de même, là par contre le disque est solicité.

    Pour le système disque, là aussi ce n'est pas très simple. Disons que RAID 1 et 10 sont bon parce qu'en mirroir. le RAID 10 offre plus de 2 disques et c'est pour celà qu'il est utilisé pour les données et les journaux de transactions. Le RAID 5 est souvent considéré comme mauvais candidat car toute écriture nécessite une lecture et divise ses performances par 2.

    Le nombres d'utilisateurs n'est pas un critères important, c'est le nombres d'utilisateurs simultanés et par extension le nombres de requêtes simultanée executés sur le serveur et leur nature. Si les requêtes durent qq millisecondes, pas de grand problèmes avec bcp d'utilisateurs si les requêtes durent 10 minutes, les problèmes commenceront très tôt !

    Désolé des réponses de normand (que je ne suis pas), mais je préfère expliquer les faits exacts que des généralités qui à force posent des problèmes.

    Bonne soirée


    Christian Robert - MVP SQL Server - Microsoft Certified Master - SQL Server 2008
    Blog : http://www.sqlnco.ch / http://blogs.codes-sources.com/christian/
    Groupe des Utilisateurs Francophone de SQL Server : http://www.guss.fr
    mardi 22 novembre 2011 20:55

Toutes les réponses

  • Bonjour

    Il n'y a pas de ratio entre la taille de la base de données et la mémoire... Cela dépend des tables / index et d'autres part des requêtes qui sont executées.

    En effet une table peut comporter des miiliard de lignes, si elle est indexé correctement et que la requête renvoie une ligne la quantité de mémoire nécessaire est minime (de l'ordre de la centaine de ko) et la performance excellente. A l'inverse une moyenne table mal requêtée peut se reveler un gouffre en termes de perf et mémoire.

    On considère que c'est la partie lue (depend des index, mais on peut retenir comme pire hypothèse la plus grande table ou en cas de partitionnement la plus grande partition) de la table qui doit tenir en mémoire pour des perfomances optimale. Cependant il est possible de fonctionner avec seulement une portion de mémoire disponible, les performances sont moindre mais la requête s'execute tout de même, là par contre le disque est solicité.

    Pour le système disque, là aussi ce n'est pas très simple. Disons que RAID 1 et 10 sont bon parce qu'en mirroir. le RAID 10 offre plus de 2 disques et c'est pour celà qu'il est utilisé pour les données et les journaux de transactions. Le RAID 5 est souvent considéré comme mauvais candidat car toute écriture nécessite une lecture et divise ses performances par 2.

    Le nombres d'utilisateurs n'est pas un critères important, c'est le nombres d'utilisateurs simultanés et par extension le nombres de requêtes simultanée executés sur le serveur et leur nature. Si les requêtes durent qq millisecondes, pas de grand problèmes avec bcp d'utilisateurs si les requêtes durent 10 minutes, les problèmes commenceront très tôt !

    Désolé des réponses de normand (que je ne suis pas), mais je préfère expliquer les faits exacts que des généralités qui à force posent des problèmes.

    Bonne soirée


    Christian Robert - MVP SQL Server - Microsoft Certified Master - SQL Server 2008
    Blog : http://www.sqlnco.ch / http://blogs.codes-sources.com/christian/
    Groupe des Utilisateurs Francophone de SQL Server : http://www.guss.fr
    mardi 22 novembre 2011 20:55
  • Merci beaucoup pour la réponse
    mercredi 30 novembre 2011 08:36
  • Désoler de remonter le sujet, Je recherche une source officiel Microsoft qui me permettrais de quantifié la quantité de mémoire .

    Voici un peu les caractéristiques du matériel que j'ai préconisé :

    2 Processeur XEON 4 coeur
    16 Go de Ram
    Raid 1 pour le système
    Raid 10 Pour la base de donnée + base Tempdb
    Windows 2008 R2
    SQL Server 2008 R2

    sachant que la base de donné fait environ :

    16Go de données
    150 utilisateurs en simultané ( tous en TSE sur différents serveur )

     

    Donc voila l'entreprise ou je suis actuellement recherche une source Microsoft, MSDN (technet ... )  obligatoirement pour le dimensionnement de la RAM ...

     

    Si quelqu'un aurais une petite documentation à me fournir cela serais pas de refus car je n'est pas trouver malheureusement

     

    jeudi 15 décembre 2011 08:31