À quelle vitesse s’affiche un site ? La question est importante tant le confort d’utilisation et les revenus d’un site peuvent dépendre de cette réponse. Vous intégrez probablement déjà des pratiques visant à améliorer le rendu des pages et leur réactivité, et si vous êtes en phase d’industrialisation, vous faites peut-être du monitoring de la performance. Au moment de paramétrer votre solution, une question a dû vous poser problème : quelle est la connexion type en France ? Et pour les mobiles ?

Nous allons non seulement répondre à ces deux questions, mais en plus nous apercevoir qu’il y a une question plus pertinente à se poser.

Pourquoi et comment calibrer ses test ?

Les solutions de monitoring du marché testent les pages généralement sans vous dire avec quel navigateur (probablement des Webkit headless, pour accélérer les tests), et le font depuis des datacenters qui sont beaucoup trop proches des nœuds principaux du Web. Potentiellement, les sondes sont exécutées à partir de machines hébergées physiquement dans le même datacenter que votre hébergeur ou avec un peering privilégié avec le CDN.

Autant dire que les tests standard ne sont pas représentatifs de ce qu’endurent vos utilisateurs et c’est la raison pour laquelle on limite volontairement débit et latence, par exemple sur l’indispensable WebPageTest ou chez certaines solutions payantes. WebPageTest a le mérite d’être transparent car vous avez une liste de connexions pré-paramétrées cependant nous allons voir qu’elles ne représentent pas du tout la France.

[caption id=”attachment_1142” align=”alignnone” width=”455”] Paramètres par défaut de WebPageTest.org[/caption]

Côté transit réseau, il y a essentiellement 4 données qui influencent l’affichage d’un site :

  • la latence ou ping, qui est le temps d'un aller / retour entre un navigateur et le serveur qui lui répond. Pour le site moyen, en HTTP 1.1, basé sur TCP, c'est la mesure la plus importante. C'est aussi la plus difficile à obtenir.
  • le download ou bande passante descendante, qui reste importante pour récupérer de gros objets. On nous vend des ADSL à plus de 20Mb/s (1, 2, 3 et des mobiles à 5Mb/s, qu'en est il vraiment ?
  • l'upload qui est rarement pertinent dans la webperf.
  • la perte de paquets : pratiquement inexistante sur des connexion filaires, mais omniprésent sur mobile. Là par contre impossible de trouver des chiffres, en supposant qu'ils signifient quelque chose

Idéalement, il faudrait récupérer ces métriques de vos propres utilisateurs, grâce à du Real User Monitoring (RUM), mais la mise en œuvre est moins aisée que de récupérer les informations de sources externes, telle que nous allons le faire ici.

Si vous êtes pressé ou si vous me faîtes aveuglément confiance (et je vous comprends), vous pouvez sauter directement à “En résumé”

à la pêche aux chiffres

En cherchant dans mes archives et sur Google, je me suis rendu compte qu’il existait très peu de rapports rendus publics. J’en liste ici 6 en extrayant des données brutes. N’hésitez pas à m’en indiquer d’autres ou à décortiquer plus avant les sources.

Etude Akamai / Pingdom de 2010

Akamai est le leader mondial des CDNs, autant dire qu’ils voient passer du traffic et ont une bonne idée de ce qui se fait à l’échelle mondiale. L’étude de cette année là comprend la répartition des débits en France.

  • Débit moyen : 3,3 Mb/s
  • Répartition :
    • 25 % moins de 2 Mb/s
    • 60 % entre 2 et 5 Mb/s
    • 15 % plus de 5 Mb/s

Akamai 2012

Chiffres plus récents, mais dont l’échelle de répartition a changé.

  • Débit moyen : 4,6Mb/s
  • Débit moyen des réseaux mobiles : 2,8Mb/s
  • Répartition :
    • 0,1% moins de 256Kb/s
    • 45% plus de 4Mb/s
    • 4% plus de 10Mb/s

DegroupTest, 2012 et 2011

La population des utilisateurs de Degrouptest est probablement biaisée, car on a affaire à des gens qui au minimum s’inquiètent de leur débit. Ce qui exclut ma mère et probablement la votre. Mais ils ont l’avantage de mesurer le ping, et d’isoler les extrêmes comme la fibre, le mobile et l’outre-Mer.

  • Débit moyen : 8,27 Mb/s (5,4Mb/s hors fibre )
  • Débit moyen des réseaux mobiles : 2.5Mbps (chiffres 2011)
  • Ping moyen : 80ms (86ms hors fibre)
  • Ping moyen réseaux mobiles : 200ms
  • Débit montant moyen : 1,3 Mb/s ( 641Kbp/s hors fibre)
  • Répartition :
    • 13% à 27Mb/s de débit moyen
    • 87% à 5,4Mb/s
  • à noter :
    • Meilleur latence possible : Fibre Orange avec 19ms. Les opérateurs ADSL se situent entre 70ms (Free) et 100ms (SFR)
    • 1s-1.5s de latence sur satellite
    • 270ms de latence depuis l'outre-mer, 3Mbps de débit moyen

A noter que le débit et la latence moyenne ont baissé entre 2011 et 2012. J’imagine que leur public a du s’élargir à des zones moins bien couvertes.

60 millions de consommateurs, 2012

Leur testeur de débit a tourné pendant 1 an en 2011 et leur public est probablement plus proche du français moyen que DegroupTest. En plus on y quantifie les variations périodiques de débit.

  • Débit moyen : 5.6Mb/s
  • Répartition :
    • 11.8% moins de 1Mb/s
    • 12.8% de 1 à 2Mb/s
    • 31,8% de 2 à 5Mb/s
    • 30% de 5 à 10Mb/s
    • 12% plus de 10Mb/s
  • A noter :
    • -20% de débit à 21h
    • -10% le dimanche

Etude ARCEP

De cette étude sur les chiffres d’affaire des FAI et opérateurs mobile, j’ai extrait les volumes de population pour confirmer ou requalifier les chiffres des autres :

  • 22 millions d'abonnements ADSL et fibre
  • 0,6 million d'abonnement fibre / cable
  • 0,3 million abonnés RTC
  • 32 millions d'abonnés mobile "data"
  • +80% de volume de data mobile par an

Statistiques Cedexis

Les statistiques de “l’aiguilleur du net” mesurent le temps d’aller-retour moyen entre un utilisateur de FAI et un CDN afin de choisir le meilleur. Les valeurs de latence y sont plus hautes qu’ailleurs car les CDN ne font pas que servir des fichiers statiques, il y a beaucoup d’intelligence lorsqu’une requête arrive chez eux. Je les prends car elles donnent une bonne idée de la vitesse avec laquelle les fichiers arrivent chez l’internaute qui visite des sites utilisant les CDN.

  • 118 ms de latence pour des fichiers hébergés sur Akamai (leader)
  • 134 ms de latence pour des fichiers sur Amazon EC2 Europe

Après les chiffres bruts, passons à l’analyse.

Quelle analyse ?

Il faut bien se dire que l’on compare des études avec des buts différents : mesurer l’efficacité des CDNs, des FAI ou avoir un vision plus globale oriente les méthodologies. C’est pour cela que j’explicite ma réfléxion, pour que vous utilisiez les commentaires pour critiquer ma tentative de compréhension.

Le débit moyen

Les statistiques d’abonnement de l’ARCEP montrent 2,7% d’abonnés fibres par rapport au nombre total d’abonnement, alors que Degrouptest reçoit 13% de ses mesures depuis la fibre. Nous pouvons donc requalifier le débit moyen de Degrouptest : 5,01Mb/s (97,3 % * 5,4 Mb/s + 2,7 % * 27,3 Mb/s = 5,01 Mb/s). Cette nouvelle moyenne se situe entre celle d’Akamai pour la France (4,6 Mb/s), et celle de 60 millions de consommateurs (5,6 Mb/s). Akamai ne détaille pas sa méthode mais on suppose qu’elle est plus représentative, car non volontaire. Elle ne mesure cependant que la connexion entre Akamai et un internaute et Cedexis nous indique qu’Akamai n’est pas le plus performant. Il faudrait donc légèrement remonter ce chiffre. D’un autre côté, 60 millions de consommateurs a fait son étude en 2011, et entre-temps DegroupTest semble indiquer une baisse de débit ADSL de 600 Ko/s. Il faudrait donc revoir leur moyenne à la baisse. Les chiffres convergent vers la valeur DegroupTest, que j’estime légèrement surestimée (population trop “aware”).

Pour arrondir, on peut donc situer un débit moyen à 4,8Mb/s sur ligne fixe. Concernant le débit mobile moyen, Akamai et Degrouptest ont à 30Kb/s près la même moyenne, on peut l’arrondir à fixer à 2,5Mb/s.

La latence

On applique la correction des stats ARCEP sur les stats DegroupTest et on obtient cette valeur arrondie : 85ms. Cependant en regardant les données Cedexis, on voit des temps de réponse bien supérieurs, de 110ms par exemple pour récupérer un statique sur un CDN populaire comme Akamai. Cela est assez cohérent avec le fait qu’un CDN rajoute forcément un peu de latence (temps de routage supplémentaire, mise en cache, etc.) et que la population Degrouptest est surement un peu moins représentative que celle mesurée par Cedexis.

Concernant le ping sur mobile, on manque cruellement de données, la seule qu’on ait trouvé pour la France est celle de Degrouptest de 200ms. Dans des études bien moins larges dans d’autres pays, les chiffres varient de 200ms à 300ms.

Pour la latence, nous nous fixons donc une moyenne arrondie de 95ms sur ligne fixe et 200ms sur mobile.

Le cas du mobile

Donc le débit moyen sur réseau mobile (2,5Mb/s) est plus élevé que 25% des ADSL de France. La latence est tout de même deux à trois fois plus élevée. Mais même en calibrant vos tests avec ces données et en supposant que vous les exécutiez depuis un vrai mobile, vous réalisez vite que quelque chose cloche : le ressenti utilisateur n’est pas du tout le même. En fait il manque une dernière composante, assez rare en ADSL : la perte de paquets TCP. Constamment les connexions ouvertes entre votre téléphone et l’antenne relai sont interrompues par des obstacles physiques, électro-magnétiques ou un changement d’antenne. Je n’ai pas trouvé d’étude avec un taux moyen de perte de paquet, aussi c’est un peu au pifomètre que j’utilise la valeur 25%. à débattre. Il manque également le côté aléatoire de la connexion qui fait tout le charme des réseaux mobiles : parfois vous téléchargez une image en une demie seconde, parfois vous n’arrivez pas à avoir un octet pendant plusieurs minutes. Exécutez régulièrement les applications speedtest ou Degroupest (iOS, Android) pour halluciner sur la variabilité des caractéristiques réseau.

[caption id=”attachment_1137” align=”alignnone” width=”300”] Test débit mobile[/caption]

Sur quelques tests ci-dessus, sur 2 tests effectués à moins d’une minute d’intervalle et sans bouger, vous pouvez voir une différence de latence de 1 à 4. Vous pouvez également voir des tests qui vont de 14Kb/s à 9Mb/s, sans compter ceux qui n’aboutissent pas.

Mais non seulement il n’existe pas d’étude sur les trous réseau (en supposant qu’une telle étude puisse être représentative), mais en plus nous ne voulons pas introduire d’aléa dans le cadre du monitoring, ou alors comment savoir si une alerte en est vraiment une ? Nous devons malheureusement choisir des mesures dégradées mais fixes.

En résumé

Les connexions moyennes françaises en 2012
Lignes Fixes Réseau mobile
Débit descendant 4,8Mb/s 2,5Mb/s
Latence 95ms 200ms (+25% de perte de paquets)

Il n'y a pas de connexion type

Mon prof de stats me tirerait les oreilles si on s’arrêtait là. En effet une moyenne seule est à peu près inutile sans l’écart-type qui permet de juger de la représentativité de cette moyenne. En fait une moyenne est certes pratique à manipuler, et il est utile de surveiller son évolution, mais elle est particulièrement trompeuse si la répartition des mesures n’est pas concentrée autour de la moyenne. Et justement les études d’Akamai, de l’ARCEP et de 60 millions de consommateurs montrent qu’il y a de fortes disparités dans l’équipement des utilisateurs.

  • L'ARCEP nous dit qu'il reste 1,4% de gens en RTC (56Kb/s), soit à l'échelle de la France 300 000 personnes. Dur de savoir si c'est leur unique moyen d'accéder au Web, mais c'est un débit 500 fois inférieur aux mobiles ! Akamai signale également un faible taux de débit inférieurs à 256Kb/s
  • DegroupTest nous avertit sur le fait que depuis la France d'outre-mer, on a du 250ms de ping en moyenne, l'équivalent du mobile, et un débit 40% inférieur à la métropole
  • 60 millions de consommateurs et Akamai montrent que 50% des utilisateurs ont moins de 5Mb/s, avec une répartition qui a l'air à peu près égale par tranche de 1Mb/s : 10% ont moins de 1Mb/s, 20% moins de 2Mb/s, etc.
  • les tuyaux du Web français sont embouteillés le soir, avec une perte de 20% de débit entre 21h et 22h.

[caption id=”attachment_1144” align=”alignnone” width=”509”] Il n’y a pas d’ADSL type en France[/caption]

Nous nous sommes donc posés la mauvaise question : calibrer vos tests sur LA moyenne française est à peine moins trompeur que de mesurer depuis votre poste avec votre navigateur récent, sur votre réseau d’entreprise branché à la fibre (oui tout le monde le fait, et c’est MAL).

Enfin : quelle stratégie de test ?

Tous ces chiffres vont nous permettre de définir une vraie stratégie de test de la performance perçue. Cela commence par définir des objectifs de réactivité raisonnables en terme de confort d’utilisation, par exemple :

  • afficher quelque chose avant 1 seconde (start render)
  • promesse / fonction principale de la page affichée avant 2 secondes
  • fonction principale interactive avant 5 secondes

Note : les valeurs que j’indique ici sont un peu génériques, et sont à définir entre les équipes “produit” (marketing, ergonomie) et les équipes techniques (développeurs, sysadmins). Vous devez maintenant être cruel et déterminer quelle proportion d’utilisateurs n’aura pas droit à cette rapidité. C’est un peu rude dit comme ça, mais une page rapide pour “tout le monde” coûte très cher. Généralement on vise à satisfaire par exemple 80 % de la population.

Voici un petit tableau qui devrait vous aider à prendre vos décisions :

Calibrage des tests pour ligne fixe
Un débit de X Mb/s et une latence de Y ms laissent de côté Z % des visiteurs
5.0Mb/s 95ms 50%
4.0Mb/s 100ms 40%
3.0Mb/s 110ms 30%
2.0Mb/s 120ms 20%

Remarques :

  • Les débits et pourcentages semblent joliment arrondis. C'est de la chance.
  • Pour le ping, on n'a aucune stat sur la répartition réelle, ce sont donc des suppositions personnelles que je vous invite à critiquer

Pour le réseau mobile, on est bien embêté car on n’a aucune idée de la répartition ! On sait juste qu’elle est très volatile, ne serait-ce que pour le même utilisateur. Donc, soit on joue ça au doigt mouillé avec la certitude de se tromper, soit on utilise la moyenne qui est pratiquement un mensonge. Mmmm. Choix cornélien mais, à choisir, autant partir sur une valeur un tout petit peu objective, c’est-à-dire la moyenne constatée, et y rajouter de la perte de paquets.

Je mettrais donc ces 3 valeurs par ordre de priorité :

  1. 3,0Mb/s avec une latence de 110ms pour représenter 70% de vos utilisateurs
  2. 2,5Mb/s avec une latence de 200ms et une perte de paquets de 25% pour l'ensemble des utilisateurs de réseau mobile
  3. 4,80Mb/s avec une latence de 95ms pour "la moyenne" des connexion filaires

La moyenne reste là surtout parce que c’est un chiffre que tout le monde (croit) comprendre et pour comparer mobile et bureau.

Si vous avez une population particulière (outre-mer, visiteurs à 21 h, habitant une grande ville, professionnelle, très mobile, etc.), il va vous falloir fouiller dans les chiffres ci-dessus pour trouver ce qui se rapproche le plus de vos utilisateurs. Ou, bien sûr, monter votre propre monitoring des capacités de vos utilisateurs.

Résultats

Pour conclure, comparons les valeurs DSL par défaut de WebPageTest.org avec celles que nous avons déterminées pour représenter 70 % des français. J’ai lancé un test sur un site moyennement complexe, qui n’a pas (encore) été optimisé et qui fait partie des sites à forte audience de France : Pluzz.fr.

[caption id=”attachment_1181” align=”alignnone” width=”1544”] Comparaison valeurs par défaut et personnalisées[/caption]

Pour plus de détails, voir le détail du déroulé. Avec les valeurs par défaut, ce site s’affiche en moins d’une seconde, donnant l’impression que l’optimisation n’est pas nécessaire. Avec nos valeurs plus réalistes prenant en compte 70 % de la population, le start render se situe à 1,4 seconde, confirmant le besoin d’entamer des travaux si l’on veut atteindre les objectifs de performance perçue.