Projet Consolidation des mesures

Consolidation des données

Sommaire

Problématique

Un internaute très proche du NRA (on utilise souvent l'expression "dormir dans le NRA" pour les très chanceux) va avoir normalement un débit très élevé... un internaute très éloigné en revanche aura normalement un débit beaucoup plus bas sans que ça soit signe de mauvais fonctionnement.

Ces variations de performance dépendent de l'atténuation du signal... elle même due à la distance entre le NRA et le modem ADSL. (Ca n'est pas la distance "à vol d'oiseau" qui compte mais la longueur du câble téléphonique.)

Comparer dans ces conditions et pour une même offre des débits dont le maximum peut varier de 20 mégabits à 512 kilobits n'a guère de sens.

Dans la pratique, si le FAI rencontre un problème, l'ensemble des internautes verra ses débits chuter et la courbe grenouille s'en ressentira... mais la valeur numérique de l'indicateur en tant que tel ne signifie rien... seules ses variations ont un sens exploitable. Hors les internautes gagneraient à pouvoir utiliser un indicateur dont la valeur est directement exploitable.

Confer à ce sujet l'article de prof sur le piaf : grenouille et le débit max

Approches

La normalisation ou indiciation des mesures

L'approche que je propose est de revoir le calcul des moyennes pour l'indicer sur le débit maximum jamais obtenu sur la ligne... il faudra peut être prévoir une période probatoire de quelques heures ou jours le temps que le maximum ait de bonnes chances d'être atteint avant que la mesure soit prise en compte pour les niveaux supérieurs (nra, villes, offres)

L'indice normalisé "grenouille"

Soient un ensemble de mesures Mesure(n) de débit n allant de 1 à beaucoup. L'indice qualité proposé est Q(n) :

Max(n+1) = valeur maxi de Mesure(i) pour i allant de 1 à n+1

Q(n) = indice qualité (en % du débit maximum) calculé comme suit :

Q(n+1)=\cfrac{p(n)*Q(n) + k(n+1)\cfrac{Mesure(n+1)}{Max(n+1)}\;100}{p(n+1)}

p(n+1) = p(n) + k(n+1) \,

k(n)=a\left(b-\cfrac{Mesure(n)}{Max(n)}\right)

Conditions initiales :
p(1) = 1
k(1) = 1
Q(1) = 100%

Paramétrage des poids :
a = 9
b = 10/9

p et k sont des poids barycentriques dynamiques

a et b permettent de "tuner" la suite numérique. Avec les valeurs 9 et 10/9 une mauvaise mesure (proche de zéro) comptera pour dix et une "bonne" mesure comptera pour 1

En outre comme cet indice qualité est en % du débit max la consolidation de cet indice pour des lignes de diverses longueurs ne posera pas de problème.

contrairement à une moyenne (barycentration 1#n fixe) ce système permet de rendre plus visibles les problèmes de débits.

il faudra peut être trouver une loi pour faire évoluer a et b en fonction du nombre de testeurs dont relève une zone (plus la zone sera peuplée plus une mauvaise mesure aura de poids)

vala l'idée. au niveau testeur on garderait les mesures brutes (débit effectif toussa)

mais au delà (nra, villes, offres) c'est l'indice grenouille Q qui deviendrait la référence.


N.B. : Cet indice de référence peut être aussi appliqué aux mesures dont la valeur minimum est prépondérante, comme le ping en inversant la logique de calcul.

L'interprétation et son utilisation

Ce qui est assemblé aux niveaux ville et offre (et peut être bientôt NRA) ce sont des % de débit atteint par rapport au débit maximum "constaté" de chaque ligne... des % avec des % ça se marie bien et ça garde la même signification.

  • Au niveau testeur :

En gros si j'ai des courbes à 80% de moyenne ça veut dire que je suis a 80% du débit maximum DEJA ATTEINT... autrement dit "peut faire un petit peu mieux"

Et si j'ai des courbes à 40% ça veut dire que c'est vraiment pas terrible.

  • Au niveau NRA / Ville / Offre

Si j'ai des courbes à 80% ça veut dire qu'une énorme majorité d'abonnés ont le débit maximum promis. En prenant un abonnement dans cette zone la prise de risque est minime.

Si j'ai des courbes à 40% ça veut dire qu'un certain nombre d'internautes ont un débit peu satisfaisant.

Il ne faut pas oublier qu'avec ce nouvel indicateur une mauvaise mesure compte pour dix et qu'une bonne compte pour un : les problèmes sont artificiellement grossis. Donc pas de panique mais il peut être intéressant de se renseigner plus avant sur la question (via forums et autres sources d'information).

Limites et améliorations

Cette approche donne une probabilité d'atteindre le débit maximum de la ligne sur la zone considérée... pas une valeur certaine... Même si cette valeur sera plus "parlante" que ce qui existe actuellement ça ne supprimera pas le besoin d'interprétation intelligente des valeurs de l'indicateur.

Le deuxième problème est que selon le nombre de testeurs la mise en évidence des problèmes ne sera pas identique : Si mille testeurs sont actifs... une seule mauvaise mesure aura un effet de 10 pour mille... soit pas grand chose... si dix testeurs sont actifs une seule mauvaise mesure plombera les statistiques de la zone alors que le cas est très exceptionnel.

Une solution pourrait être de faire dépendre du nombre de testeurs les valeurs de a et de b pour qu'une mauvaise mesure ait un effet de 10% quel que soit le nombre de testeurs ?

ça donnerait :

Mesure(n)=0 \Rightarrow k(n) = a\;b = \cfrac{Nb_{testeurs}}{10}

Mesure(n)=Max(n) \Rightarrow k(n) = a\;(b-1) = 1

soit :

 a = \cfrac{ Nb_{testeurs} - 10}{ 10 } ; b = \cfrac{ Nb_{testeurs} }{ Nb_{testeurs} - 10 }

(Pour 100 testeurs on retrouve les valeurs 9 et 10/9 )

Etalonnage

Suite à discussion avec fraggle et prof il pourrait être intéressant d'étalonner le Max avec une mesure multi-connexions (sur le même serveur ou sur plusieurs) faite de préférence hors des périodes de pointe autant que possible. Ca permettrait de s'assurer que l'on sature bien la connexion même si des bridages sont installés. Si en particulier on utilise le port 80 pour cet étalonnage on minimisera le risque de bridage.

Il serait également souhaitable de regarder ce que fait iperf sur le protocole UDP pour l'étalonnage.

A suivre...

Un article de Wiki Grenouille.
Powered by MediaWiki