Test d'une application actuellement sous charge mono-utilisateur - comme les données de test ont augmenté pour atteindre les tailles de production (400k-2M lignes par table), certains SELECT sp ne sont plus assez rapides (avec des données de test limitées, auparavant <30 ms chacune, maintenant c'est 100-200 ms, mais il y en a plusieurs, donc le retard devient apparent dans l'interface utilisateur).
sql-server
performance
sql-server-2000
Pastymage
la source
la source
Réponses:
Vous pouvez utiliser
DBCC SQLPERF("waitstats")
. Cela renverra les temps d'attente des tâches sur lesquelles votre serveur SQL attendait. Des explications détaillées de chaque compteur sont disponibles en ligne. Vous pouvez utiliser ces informations pour découvrir vos goulots d'étranglement.Activez également les statistiques du client dans l'analyseur de requêtes pour voir les temps d'attente côté client.
Je suppose que votre matériel n'a pas changé depuis votre test initial, donc comme ils sont constants, je n'en doute pas.
la source
Pensées:
Quelques solutions:
Exécutez l'index manquant DMV pour voir, enfin, les index manquants:
... et les requêtes DMV les plus chères
Sinon, cette question SO contient de bons conseils de ma part et d'autres types de représentants SQL élevés: https://stackoverflow.com/q/4118156/27535 (je ne copierai / collerai pas les 3 réponses longues)
la source
Connectez-vous aux ressources système ou consultez le gestionnaire de tâches pour voir combien de ressources système sont utilisées par les processus.
la source
Une chose intéressante à considérer est la version de MSSQL 2000 exécutée
Il existe quatre versions des binaires
Chacune de ces versions a des limites en termes de RAM et de CPU.
Il convient d'explorer la possibilité que la quantité de données actuellement stockées ait simplement dépassé les capacités de la version de MSSQL 2000 en raison de requêtes nécessitant plus de RAM pour répondre aux requêtes / sous-requêtes ou à une utilisation insuffisante du processeur. Vous devrez peut-être mettre à niveau la version binaire vers la version MSSQL 2000 Entrprise (probablement une longue vue en raison de l'âge de votre version de MSSQL) ou la meilleure version que votre budget peut vous permettre.
Vous voudrez peut-être même sortir de MSSQL 2000 car 2008 est la dernière version et dispose d'un support actuel. Encore une fois, cela pourrait être un problème budgétaire. Si vous utilisez déjà Enterprise ou si votre budget ne permet aucune mise à niveau majeure, vous pouvez maintenant explorer les statistiques ou la conception de DB.
Avertissement: je ne suis pas un DBA SQL Server
la source