2011-09-10 2 views
6

J'ai redémarré mon serveur dédié ce matin. Par conséquent, mon SQL Server était très réactif. Je pourrais interroger la table d'enregistrements de 1.500.000, retours de résultats dans quelques secondes.Comment vérifier les performances d'une base de données SQL Server?

après un moment, je vois mon processeur a commencé à croître, et ce n'est pas si vite plus de 30-50 secondes pour les mêmes requêtes.

J'ai vérifié sp_who2, aucune transaction de blocage. J'ai reconstruit l'index. Aucune modification n'est encore lente

Quelle est la meilleure façon de résoudre ce genre de problème? Comment améliorer la performance?

Voici mon gestionnaire de tâches

enter image description here

+0

Quels sont les processus qui consomment du CPU? S'il y a moins de CPU disponible, les requêtes seront bien entendu plus lentes. – tjameson

+0

c'est principalement le serveur sql que vous pouvez voir sur la capture d'écran – MasterMeNow

+0

Qu'est-ce qui demande des données du serveur SQL? Peut-être que c'était moins quand vous avez passé le test, et maintenant il y a plus d'activité. – tjameson

Répondre

2
  • Dans les propriétés du serveur, vous pouvez affecter manuellement le nombre de vous voulez cpu sql utiliser

enter image description here

  • Assurez-vous vous avez toutes les mises à jour de Windows, le service paquets appliqués
  • Sans exécuter votre application de base de données, avec enregistrement en cours d'exécution SQL Server la quantité de mémoire utilisée
  • meilleure approche consiste à exécuter profileur SQL pour le modèle de performance enter image description here
  • Utiliser Database Tuning Advisor pour voir les recommandations ((http://www.youtube.com/watch?v=gjT8wL92mqE)
0

Il semble que ce soit le problème du disque. Assurez-vous que votre SQL endine est configuré (mémoire max) à moins que (librement) disponible sur votre système.

Est-ce une machine virtuelle? Est-ce que la base de données est grande - SQL va continuer à récupérer de la mémoire si elle est là - même si sa mémoire de disque dur - qui est intrinsèquement lente

3

Je renifle un problème de pression de mémoire. Le tampon de page peut être plein ou un autre get de contrainte de mémoire. Commencez par la surveillance des compteurs essentiels de la performance du système comme:

  • Cpu charge
  • page faute
  • disque r/file d'attente avec
  • disque r/w temps

les capturer à partir du moment où vous redémarrez la machine, puis tracer avec Excel ou un autre outil graphique. Ajoutez quelques compteurs SQL au mélange. Il y a beaucoup de ressources en ligne si vous recherchez "couturiers de moniteur de performance de serveur de sql". Essayez les compteurs de perf mentionnés ici: http://www.sql-server-performance.com/2007/performance-monitor-general/

Il est essentiel d'observer la progression dans le temps et de la corréler avec d'autres indicateurs et les performances perçues.

Une autre chose à rechercher serait des recompilations de plan. Vérifiez les événements SP:Recompile dans la trace du profileur et vérifiez s'il existe une corrélation avec la dégradation des performances.- ref https://support.microsoft.com/en-us/kb/243586

Questions connexes