Bonjour,
N'étant pas particulièrement versé en mathématiques, je vous demande votre aide.
J'ai une requête qui me permet d'évaluer la charge des appels sur un serveur. J'obtiens un exemple d'appel, un total de temps processeur, un nombre d'exécutions, une période pendant laquelle ces instructions ont été appelées.
exemple de résultat :
J'aimerais faire un tri pour déterminer les appels les plus coûteux, mais ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 text worker_time count duree CREATE P 1230070 40 84 -- = 1000 35 123 (@0 decima 9000 37 1943 (@_msparam 0 2 67 /* exe 3612205 1 809 (@_msparam 1000 4 2618 CREATE PR 36002 28 811 -- Exec db 1000 5 117 CREATE PRO 4331246 2 2432 -- ======= 0 6 1068
Si je me base uniquement sur le worker_time, je ne prends pas en compte le nombre d'appels et la durée. Un seul appel qui dure longtemps est moins problématique que beaucoup d'appels qui durent relativement longtemps. Je pourrais trier sur la moyenne arithmétique du temps par appel, mais je retombe sur le même problème : la moyenne ne me permet pas de prendre réellement en compte le nombre d'appels.
Ensuite, un nombre important d'appels sur une longue durée est moins sérieux qu'un nombre important d'appels dans une courte période, et qui aurait un worker_time important...
J'espère avoir été clair Si vous avez des pistes pour obtenir un tri un peu intelligent et voir en premier les requêtes les plus problématiques. Je pourrais sans doute faire un critère de tri multiple en déroulant un raisonnement un peu impératif, mais y a-t-il une formule qui pourrait m'aider ?
Merci
Partager