-
Tests de performance
Bonjour,
Je souhaiterais effectuer des tests de performance de toute sorte sur une base de données Oracle, et pour des volumes de données différents.
Par exemple, j'aimerais pouvoir comparer les performances (rapidité, taille...) des types de données similaires (tels que CHAR, VARCHAR, VARCHAR2, NCHAR...), sur un nombre de données différents (500 lignes, puis 50 000 puis 500 000 par exemple.
J'aimerais aussi pouvoir tester l'efficacité des différents types d'index également, ou plus simplement comparer les performances de requêtes.
Je ne sais pas si vous connaissez des outils permettant de faire ceci?
Dans un premier temps, j'ai tenté d'utiliser JMH d'OpenJDK, mais je ne suis pas sûr que ce soit adapté au genre de tests que je souhaite faire.
Pouvez vous me renseigner? Merci.
-
Vous perdez votre temps. Commencez par comprendre en quoi ces types diffèrent et vous allez comprendre pourquoi c'est une perte de temps de comparer "leurs performances".
-
Bonjour, merci pour votre réponse (et au passage désolé pour le temps de réponse).
Je ne comprends pas trop votre remarque. Je comprends bien qu'un type de données correspond à une utilisation particulière, mais cela n'est pas toujours évident. J'ai pu voir par exemple plusieurs fois des experts ORACLE s'écharper sur le choix d'un CHAR ou d'un VARCHAR, je voulais donc me faire mon propre avis par des tests.
De même, au delà des types, je souhaite aussi faire des tests au niveau des index, et des comparaisons de performance sur des requêtes. Je peux le faire sur SQL developper mais j'aimerais pouvoir tester plusieurs fois afin de garantir un meilleur résultat, plus précis.
Merci.
-
Les types de données vous devez les choisir par rapport aux besoins de votre application. Le choix d'une mauvais type comme par exemple stocker des dates dans des varchar ont un impact fort sur la performance mais c'est le manque de compréhension des types qui constitue l'erreur et non pas des tests comparatives. Le type char est stocké toujours en longueur fixe et rarement utilisé.
Voilà un lien vers un outil qui permet des comparer deux alternatives différentes d'unités de travail: RunStats Utility.
Mais donnez plus de détails sur ce que vous cherchez si vous voulez avoir plus de réponses.
-
Merci pour le lien, j'y jetterai un œil.
Mon objectif est, dans le cadre d'un projet à forte volumétrie, d'identifier les moyens à mettre en oeuvre pour remplir des exigences en termes de performance, stockage, intégrité et sécurité.
Et donc une partie de mon sujet évoque le choix d'un système de stockage (base de données) et des bonnes pratiques à appliquer pour mon projet spécifique. Cela m'a amené ainsi vers le typage des données, puis la mise en place d'index et éventuellement l'optimisation des requêtes.
C'est pour cela que je voulais tester par moi-même l'apport réel en performance (entre autre) de ces différents éléments, car jusqu'ici je n'avais pas eu à manipuler une quantité aussi importante d'informations.