> Data > L’outil Database Hammer

L’outil Database Hammer

Data - Par iTPro.fr - Publié le 24 juin 2010
email

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 gratuitement cette ressource

Comment cerner la maturité digitale de votre entreprise ?

Comment cerner la maturité digitale de votre entreprise ?

Conçu pour les directions IT et Métiers, ce guide vous permettra d'évaluer précisément vos processus de communication client, d'identifier vos lacunes et points d'inflexion pour établir un plan d’actions capable de soutenir durablement votre évolution. Bénéficiez maintenant d'une feuille de route complète.

Data - Par iTPro.fr - Publié le 24 juin 2010