Comment désactiver le cache Oracle pour les tests de performances
Je suis en train de tester l'utilité d'un nouveau tableau de synthèse des données.
J'ai donc créé deux procédures pour récupérer les données d'un certain intervalle, chacune utilisant une autre source de la table. Donc sur mon application console C# je viens de téléphoner à l'un ou l'autre. Le problème, quand je veux répétez cette opération plusieurs fois pour avoir un bon modèle de temps de réponse.
J'ai eu quelque chose comme ceci: 1199,84,81,81,81,81,82,80,80,81,81,80,81,91,80,80,81,80
Probablement mon Oracle 10g fait inapproprié de mise en cache.
Comment je peux résoudre ce problème?
source d'informationauteur Custodio
Vous devez vous connecter pour publier un commentaire.
EDIT: Voir ce fil sur asktomqui décrit comment et pourquoi ne pas pour ce faire.
Si vous êtes dans un environnement de test, vous pouvez mettre votre espace de stockage en ligne et hors ligne nouveau:
Ou vous pouvez essayer
mais encore une fois seulement sur l'environnement de test.
Lorsque vous testez sur votre système "réel", à la fois, vous aurez après le premier appel (ceux qui utilisent les données mises en cache) peut être plus intéressante, vous aurez des données mises en cache. Appel de la procédure deux fois, et seulement tenir compte de la performance des résultats que vous obtenez dans les exécutions suivantes.
En fait, il semble que Oracle est en train de faire certains tout à fait approprié de la mise en cache. Si ces tableaux sont utilisés beaucoup, alors vous espère les avoir en cache la plupart du temps.
modifier
Dans un commentaire sur Peter réponse de Luis dit
Ces résultats sont "intéressant" parce que la chasse d'eau signifie que les appels de prendre un peu plus de temps que lorsque les lignes sont dans la base de données du cache, mais pas tant que le premier appel. Ce n'est presque certainement parce que le serveur a stocké les enregistrements physiques dans son cache. La seule façon d'éviter que, pour vraiment exécuter à l'encontre d'un cache vide est à redémarrer le serveur avant chaque test.
Sinon apprendre à paramétrer les requêtes correctement. La compréhension comment la base de données des œuvres est un bon début. Et d'EXPLIQUER le PLAN est un meilleur réglage de l'aide de l'horloge murale. En savoir plus.