Quelle serait la méthode recommandée pour tester les performances sur les procédures stockées? Il y a un SP qui prend environ 20 booléens et j'aimerais tester certaines des combinaisons. Il y a un autre SP avec les mêmes paramètres mais une implémentation différente et souhaiterait un moyen de comparaison. Je peux le faire manuellement dans. NET si nécessaire, mais je me demandais s'il y avait une meilleure façon. Merci!Tests de performances SQL Server
Répondre
Eh bien, il n'y a que 2^20 combinaisons ...
Vous pouvez faire une table des paramètres que vous souhaitez tester (bool1, bool2, bool3, ...), puis ajouter des colonnes pour les résultats ALT1 et alt2 résultats (heures de début et de fin, résultats numériques réels dans le cas où un a un bug, etc.). Puis ouvrir un curseur sur la table de paramètres (ou boucle sur SELECT TOP 1 WHERE résultat est nul) et EXEC chaque proc avec les paramètres, en enregistrant les heures de début et de fin et les résultats et toute autre chose.
Donc, à ce stade, je garderais tout dans la base de données, pas besoin de .NET pour le moment. Si les ensembles de données sont volumineux et que vous avez besoin de vérifier les performances de bout en bout, je pourrais sortir de la base de données, mais en ce moment, moins de pièces mobiles, mieux c'est.
Vous pouvez mesurer les performances dans Server Management Studio en exécutant les deux procédures stockées avec un plan d'exécution réel. Il vous donnera une ventilation des performances/coûts par chaque déclaration dans le sp.
Vous pouvez également vous SQL Server Profiler pour rassembler des métriques de performance.
Personnellement, j'ai tendance à utiliser une combinaison des deux précédents.
J'avais besoin de quelque chose de plus haut niveau et plus automatisé comme ce que Cade a mentionné. Une fois que j'identifie une requête problématique, je peux utiliser le plan d'exécution et le profileur comme vous l'avez suggéré. –
Lorsque vous avez une quantité écrasante de paramètres, pensez toujours à effectuer un test par paire. Je préfère l'outil PICT.
- 1. Problème de performances SQL Server
- 2. Performances de requête SQL Server 2000 vs SQL Server 2008
- 3. Performances XQuery dans SQL Server
- 4. Optimisation des performances avec SQL Server
- 5. SQL Server: Comparaison des performances de l'index
- 6. Performances de SQL Server Compact Edition 3.5
- 7. analyser les problèmes de performances SQL Server?
- 8. Détérioration des performances de SQL Server
- 9. Tests de performances Applications Flex
- 10. SQL Server 2005 Performances et espace blanc
- 11. SQL Server - Performances de requête sur la recherche de table
- 12. Évaluation des performances de l'installation de SQL Server
- 13. Tests de performances sur les fichiers .xap
- 14. Outils tiers pour la surveillance des performances de SQL Server
- 15. Gestion des performances de TDE sur SQL Server 2008
- 16. Tests logiciels sur plusieurs versions de SQL Server
- 17. Performances SQL Query
- 18. Performances SQL Server Express avec des fichiers journaux volumineux
- 19. Sql Server int vs nvarchar comparaison sur les performances?
- 20. Comparaison des performances MySQL et SQL Server Express
- 21. Comment implémenter l'arborescence hautes performances dans SQL Server 2005
- 22. Performances stockées SQL Server 2008 stockées où Column = NULL
- 23. Tests Open Source pour SQL Server 2000 et 2005
- 24. performances SQL (MySQL)
- 25. Visual Studio 2010 Tests de performances Web ultimes et tests de charge des comptes utilisateur virtuels
- 26. XtUnit prend-il en charge les tests de performances?
- 27. Indexation dans SQL Server
- 28. Version SQL Server de ADD_MONTHS()
- 29. Problème de SQL Server Profiler
- 30. Performances SQL et chaînes MD5
Seulement 2^20 est quelque chose de plus d'un million. :) Chaque requête peut prendre une seconde ou deux (relativement complexe). En supposant 1 seconde chacune avec seulement 10 itérations (pour obtenir de meilleures moyennes), nous regardons 1mil combinaisons * 10 itérations/60 secondes/60 minutes/24 heures = 115 jours. A part ça, j'aime votre approche et je vais essayer. –
@Nelson - Droite - Je pensais que toutes ces combinaisons ne sont pas réalistes - il est également possible de déduire les combinaisons possibles des données d'application existantes (SELECT DISTINCT CASE GENDER = 'M' ALORS 1 ELSE 0 FIN COMME IsMale, CASE QUAND WEARSBRA = 'Y' ALORS 1 ELSE 0 FIN COMME WearsBra DE DEMOGRAPHICS) - il peut y avoir des cas qui ne se produisent tout simplement pas dans votre ensemble de données. –