Soient :
- N: Nombre moyen de requêtes présentes dans le système à un temps t.
- R: Durée moyenne de présence d'une requête dans le système.
- X: Nombre de transaction par unité de temps.
Loi de Little | N=XR |
---|
La démonstration de cette loi est très simple:
- Si S est le temps accumulé par les requêtes dans le système pendant un intervalle de temps T,
- Si C est le nombre de requêtes observées dans le système pendant T,
N=S/T
R=S/C
X=C/T
==> N = S/T = (C/T)*(W/C) = XR
Exemple: Relations entre la longueur de la file d'attente sur une ressource, du temps de service, du débit, du temps d'attente dans la file.
- La file d'attente mesurée sur un disque est en moyenne de 4, en comptant la requête en cours, N=5
- Le disque sert 75 Entrées/ Sorties par secondes
La loi de Little nous donne donc le temps passé par une requête d'E/S, soit R=N/X=67 ms, ventilés en 1/75=13 ms passé en accès du disque lui même, et donc 67-13=54 ms passés dans la queue d'attente.
2. Illustration de la loi de Little
2.1 Temps de réponse
Dans le cas ou le référentiel comprend des utilisateurs interactifs, on peut introduire une variable suplémentaire:
Z: Temps de "réflexion" moyen
On aura donc ici un temps de présence dans le système qui sera égal à R+ Z, puisque R est en l'occurence le temps qui s'écoule entre le moment où l'utilisateur valide sa saisie et attend la réponse de l'ordinateur... soit le temps de réponse!
D'après la loi de Little, on pourra donc écrire: N=X(R+Z), d'ou le temps de réponse moyen :
Temps de réponse | R= N/X - Z |
---|
2.2 Utilisation d'une ressource
Prenons un référentiel constitué d'un disque sans sa queue d'attente.- R est donc ici le temps de service du disque (temps de latency + temps de recherche).
- X est le nombre de requêtes traitées par le disque par unité de temps.
- U: le taux d'occupation de la ressource ("l'utilisation"), c'est à dire la fraction par unité de temps pendant laquelle la ressource était occupée.
Utilisation en fonction des temps de service et du débit | U=RX |
A débit constant (X constant), le taux d'utilisation sera une fonction linéaire de la longeur de la queue d'attente. Cette condition n'est bien sur remplie que sur une ressource fortement sollicitée, pour laquelle le débit a atteint son maximum ou une valeur asymptotique.
Exemples de collectes sur le disque c0t6d0:
Heure |
Util % |
Wait time (ms) |
Service time (ms) |
Read/s |
Write/s |
15:07 |
70,8 |
123,1 |
10 |
4 |
67 |
15:12 |
67,3 |
100,1 |
12,3 |
30,6 |
24,1 |
15:17 |
67,8 |
92 |
12 |
33,7 |
22,7 |
17:22 |
68,7 |
95,4 |
36,6 |
36,6 |
21,4 |
On vérifie bien à chaque instant que
Util%=(Read/s+Write/s) * Service time