par Joseph Isaac Sack - Mis en ligne le 19/05/2003
Je travaille comme administrateur
de base de données (DBA) sous
contrat dans une grande société de
recherche et de fabrication. Mon
manager m'a récemment demandé
de trouver la meilleure configuration
de base de données pour notre
nouveau grand SAN (Storage Area
Network) RAID 5. Le fournisseur du
SAN n'avait pas de documentation
quant aux recommandations de placement
de fichiers base de données
SQL Server 2000 ou aux meilleures
pratiques. Il fallait donc faire un test
pour voir si en plaçant les fichiers de
données et les fichiers log sur des
partitions SAN RAID 5 séparées, les
performances étaient meilleures
qu'en plaçant les deux fichiers sur
une partition SAN RAID 5 unique.
En règle générale, le fait de placer
les fichiers base de données et log
sur des matrices séparées (RAID 5
ou RAID 10 pour les données et
RAID 1 pour le log) améliore la performance.
Comme SQL Server écrit
séquentiellement dans le fichier log
de transactions, et aléatoirement
dans les fichiers de données, la séparation
des fichiers réduit le risque
de contention de lecture ou d'écriture
simultanée.
L’outil Database Hammer

Le SAN que j’ai testé bénéficiait du caching – la RAM qui réside sur le
contrôleur de disque lui-même –
donc, je n’ai pas voulu supposer que
les règles standard s’appliquaient.
Certains SAN utilisent des algorithmes
de caching dans le contrôleur
de cache pour faciliter le mouvement
des blocs de données et les
écritures vers le cache du contrôleur
(mémoire). Par exemple, le SAN que
j’ai testé a un algorithme qui lit des
données et les envoie dans le cache
en s’inspirant des anciens profils de
requêtes d’I/O, pour tenter de prédire
les requêtes de lecture futures.
Un autre algorithme recueille les
écritures séquentielles dans le cache
et essaie de les écrire sur disque
dans de grands blocs de bandes
complètes. Ces algorithmes de
cache ont pour but d’alléger l’I/O.
Pour tester le serveur de base de
données sous diverses charges, j’ai
utilisé l’outil Database Hammer inclus
dans le SQL Server 2000
Resource Kit. Database Hammer est
un exemple de code 6.0 VB (Visual
Basic) qui crée une table, la peuple
avec 10 millions de lignes de données
puis permet de simuler des
centaines d’opérations SELECT et
UPDATE simultanées. Database
Hammer est excellent pour appliquer un test de contrainte à une
base de données. Il permet d’étaler
des connexions multiples dont chacune
émet des opérations de
lecture/écriture aléatoires (d’après
votre ratio). L’outil enregistre aussi les
statistiques de performances client/
serveur. Ces statistiques montrent le
temps de réponse courant, minimum,
maximum et moyen (en millisecondes)
de l’appel de procédure stockée
(Read ou Write) pour chaque processus
esclave. Bien que cette
information soit utile pour mesurer le
temps de réponse client/serveur, ce qui m’intéressait le plus était de voir
l’impact du test de contrainte sur l’I/O.
J’ai donc décidé de créer mes propres
journaux de comptage Performance
Monitor pour capturer cette information
d’I/O ainsi que les statistiques sur
la mémoire, la CPU et le cache du
buffer.
Regardons brièvement les compteurs
utilisés pour mes tests, examinons
la manière de créer les journaux
de comptage, et voyons comment
conduire les tests Database Hammer.
Nous verrons alors les résultats surprenants
ainsi obtenus.
Téléchargez cette ressource

Sécurité et conformité du Cloud
Ce guide vous permettra de revisiter vos connaissances et repenser votre posture en matière de sécurité et de conformité dans le cloud. Vous découvrirez comment mettre en place et déployer une stratégie de sécurité fluide et transparente. Un guide essentiel pour sécuriser votre cloud de façon pérenne.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- L’IA dans l’entreprise : questions et pratiques contemporaines
- Être une femme dans la tech en 2025 : comment prendre sa place et évoluer ?
- Les différents types de cyberattaques les plus répandues
- Bilan 2024 de la start-up Nation
- DORA, vecteur d’accélération de la transformation numérique des assureurs
