Bonjour
Nous avons des problèmes de performance sur notre serveur de developpement.
Ce serveur héberge 3 bases de développement (4Go de data + 2Go de log chacune).
On dispose de 4Go de mémoire au total.
Le default data cache est de 500 Mo.
J'ai remarqué dans mes tables "mon" que l'indice stalls n'est pas bon.
Or d'après mda
Comme indiqué dans cette page, j'ai créé la procédure sp__cacheLa colonne "stalls" correspond au "Buffers grabbed dirty" de sp_sysmon. Si cette valeur n'est pas 0 elle représente un problème de perf réel puisque l'engine doit attendre que l'opération d'IO soit terminée sur le buffer "sale" avant de pouvoir le réutiliser.
De même que mes tables MDA, elle indique que :
stalls vaut 7211 pour le pool 2Ko de default data cache sur notre serveur
Comment optimiser ce point ?
- Faudrait-il simplement augmenter la taille de 'default data cache' pour améliorer les performances ?
- Ne faudrait-il pas prévoir un data cache nommé et séparé pour chaque base ?
- Préconisez-vous un data cache nommé pour la tempdb ?
- Préconisez-vous un cache nommé pour le log ?
Et si oui, en faut-il créer un par serveur ou par base ?
Est-il automatiquement reconnu/pris en compte ?- Utilisez-vous des mises en cache explicites de tables/indexes (binding)?
- Les liens de base ou d'objets avec le cache, doivent-ils être redéfinis à chaque démarrage serveur ?
D'avance merci
msomso
Partager