Niveau : débutant
Lors d'un précédent post, j'avais émis l'idée que les sites populaires étaient rapides, et que de mauvais temps de réponse (la latence) nuisaient à la fréquentation des sites web, puisqu'ils faisaient partie du "perçu" du visiteur.
Toutefois, j'en étais resté au stade de l'hypothèse, de l'opinion personnelle, étayée par un court article.
J'ai eu de bons retours, mais aussi certains doutes exprimés : en effet, optimiser coûte, si ce n'est en matériel, au minimum en temps développeur / administrateur, alors que ceux-ci pourraient être affectés à des tâches plus "productives".
Est-ce pertinent pour le management de mobiliser des ressources, d’alourdir les process, le tout pour des gains incertains ?
Surtout lorsque les budgets sont serrés, puisque tout le monde n'a pas les moyens humains et matériels de Google, de Facebook ou d'Amazon ...
Est-ce que la recherche des meilleurs temps de réponse a des bénéfices concrets et chiffrables pour l'entreprise, ou est-ce juste la marotte de quelques geeks idéalistes et bien trop pointilleux ?
"Speed [is] an undervalued and under-discussed asset on the web" - James Hamilton
Suite au précédent article, Les sites populaires sont rapides, j'ai eu l'envie de creuser le sujet, et surtout d'appuyer mon argumentation par des éléments factuels.
Je suis alors tombé sur un article rédigé en juillet 2009 par Todd Hoff, sur le blog High Scalability, qui recense des exemples chiffrés.
Latency is Everywhere and it Costs You Sales - How to Crush it
Rappel : latence ≠ bande passante !
Lorsque j'ai débuté dans mon métier, j'ai eu droit un jour à cette remarque de la part d'un directeur commercial, dont je tairai le nom, secret professionnel oblige : "On m'a dit que ce qui comptait dans l'hébergement, c'est la taille des tuyaux !"
J'ai alors répondu "Non, Sheila ... la bande passante est mise en avant parce que c'est un argument intelligible pour les non-informaticiens, et donc facile à vendre !"
La bande passante est un élément important d'une plateforme d'hébergement web, mais la latence est tout aussi importante.
Je dirais même que la latence est bien plus importante que la bande passante, tant que les limites de celle-ci ne sont pas atteintes.
L'informatique est faite de latences, de délais :
le visiteur émet la requête d'une page depuis son terminal, celle-ci arrive sur la plateforme d'hébergement web.
Elle est ensuite traitée, le serveur web fait des lectures sur les disques, interroge des services annexes (bases de données, etc), et une réponse est alors élaborée.
C'est seulement à partir de ce moment-là que la page web est prête, et que la bande passante est utilisée pour envoyer celle-ci à l'utilisateur.
Le perçu du visiteur lors d'un chargement d'une page web dépend donc de la vitesse de transfert, mais aussi et surtout du délai entre l'émission de la requête et le début de la réception de la réponse.
Nous avons tous vu des sites web qui "moulinent" pendant 5 secondes, pour au final transférer rapidement la page demandée, ce qui est totalement typique des sites dynamiques.
L'impression du visiteur, c'est d'avoir attendu trop longtemps devant une page blanche, alors que la bande passante du site web est pourtant excellente.
Le fait de faire attendre 5 secondes chaque visiteur n'influence que peu la capacité du site web à servir beaucoup de visiteurs simultanément, pour peu qu'il dispose d'une bonne bande passante et de suffisamment de serveurs.
D'un point de vue technique, une bonne latence aide à avoir une bonne bande passante, mais une bonne bande passante n'aide pas à avoir une bonne latence !
C'est une règle générale, qui s'applique aussi bien pour les sites web, ou pour tous les composants ou traitements informatiques (routeurs, réseaux, mais aussi mémoire vive, disques, services, etc)
En cela, le trafic internet ressemble beaucoup au trafic routier, pour lequel il y a un nombre important de paramètres : vitesse des véhicules, taille des autoroutes, espacement entre les voitures, taille des véhicules eux-mêmes, feux rouges, congestions, accidents, etc.
Certains sites web se préoccupent des impacts de la latence sur leur activité, et ont eu la très bonne idée d'en introduire artificiellement, afin d'étudier le comportement des visiteurs et de quantifier le manque à gagner si celle-ci venait à augmenter.
Les moteurs de recherche
Sources
Bing and Google Agree: Slow Pages Lose Users
Perspectives - The Cost of Latency
Bing
Nous pouvons constater que lorsque l'on passe de 50ms à 200ms (soit seulement 150 ms de latence supplémentaire, ce qui est infime), le nombre de clics, la satisfaction, diminuent, alors que le temps pour un clic augmente.
Lorsqu'on passe à 500 ms, on note aussi que le taux de "query refinement" (l'affinage des recherches) commencent à baisser, ainsi que le revenu par utilisateur.
A partir de 1000 ms, les recherches distinctes chutent aussi.
Analysons ces résultats : en augmentant la latence, les clics totaux ainsi que la satisfaction du visiteur baissent.
Le visiteur perd progressivement sa concentration sur les résultats de la recherche qu'il a demandé, il a moins envie de les approfondir.
Lorsque les temps de réponse sont lents, à plus d'une seconde, son envie de faire de nouvelles recherches chute aussi.
Il préfère passer à autre chose, et quitte le site : il "décroche".
Les revenus, eux, baissent continuellement, au fur à mesure que la latence augmente.
Pour replacer les choses dans leur contexte, nous parlons ici d'un site qui reste très rapide, entre 50 et 2000 ms par page, ce qui déjà largement inférieur à la moyenne des sites web ...
Pour optimiser le chargement des pages, Bing a aussi fait appel à la méthode de "rendu progressif" des pages (dans le transfert de la réponse, la priorité est donnée aux éléments qui permettent d'entamer le rendu de la page le plus tôt possible).
Cela ne change pas le temps de rendu global d'une page, mais permet de "tricher", en cela que la page commence à s'afficher plus tôt sur le navigateur : la perception du visiteur change grandement !
En diminuant le temps de rendu de la page par deux, Bing a constaté plus d'interactivité et d'implication de la part du visiteur (-9% pour le time to click), plus de recherches subconséquentes (plus de revenus ?!), et une légère augmentation du nombre total des clics ainsi que de la satisfaction globale.
Bien qu'elle arrive à peu près aux mêmes conclusions, la société Google a choisi d'autres métriques, qui permettent de mesurer l'impact d'une augmentation de la latence à long terme.
En augmentant artificiellement la latence sur quatre semaines, plus cette augmentation était importante, et plus le taux de retour des visiteurs sur le site a diminué, y compris cinq semaines après que la latence soit revenue à des valeurs normales.
Pour résumer, la société a perdu durablement des utilisateurs à cause de la latence.
Sur l'interview du site "Perspectives" de James Hamilton, Marissa Mayer (Google) explique que les utilisateurs ont demandé à passer le nombre de résultats par page de 10 à 30.
La latence des pages est passée de 400 ms pour 10 résultats à 900 ms pour 30.
Bien que la version 30 résultats par page soit globalement plus "rapide" (30 ms / résultat, contre 40 ms / résultat sur la version 10 résultats par page), le trafic du site a baissé de 20% !!!
C'est là que la société a pris conscience de l'importance de la latence : le temps d'attente d'une page est plus important pour le visiteur que l'exhaustivité du contenu, il y a un délai au bout duquel il "décroche".
La fonctionnalité a donc été logiquement abandonnée, les utilisateurs n'étant pas prêts à attendre plus, alors qu'ils avaient eux-mêmes réclamé plus de résultats.
Marissa résume cette expérience : "les utilisateurs sont réellement réactifs à la vitesse".
Sites marchands
Sources
Shopzilla
En remettant à plat ses sites marchands ainsi que son architecture technique, et en faisant passer les temps de réponse moyens de ses sites de 7 à 2 secondes, la société a augmenté ses pages vues de 25%, son revenu par 10%, le trafic provenant de Google par 120%.
D'un point de vue économies, elle a aussi réussi, grâce à ce projet d'optimisation, à diminuer ses besoins matériels par 50%, et fait passer de quelques milliers de dollars à 80$ le coût du déploiement d'une nouvelle version du site, ce qui lui a permis de rapprocher ses mises à jour et de fluidifier ses développements : le temps mis pour intégrer de nouvelles fonctionnalités a globalement diminué, ce qui lui permet d'être plus réactive face à ses concurrents.
La conclusion de la société Shopzilla est sans appel : "Est-ce que la recherche de la performance / l'optimisation est rentable ? OUI !"
Amazon
Je n'ai pas de chiffres précis, à part celui-ci, qui est suffisamment éloquent :
chaque tranche supplémentaire de 100 ms de latence sur le site marchand représente un manque à gagner de 1% dans les ventes.
Il n'est pas étonnant alors, dans ces conditions, qu'ils aient mis au point la plus grosse infrastructure cloud à l'heure actuelle : pas tant pour diversifier leur activité que pour répondre aux exigences draconiennes de leur métier d'origine ...
Le "High-Frequency Trading"
Sources
New York Times - Stock Traders Find Speed Pays, in Milliseconds
Goldman Sachs
Un exemple un plus anecdotique, puisqu'il n'est pas directement lié aux métiers du web :
la banque Goldman Sachs, qui possédait en 2009 une infrastructure lui permettant de passer des ordres avec une latence de 500 ms entre la réception d'une information et l'émission d'un ordre d'achat ou de vente, avait un avantage significatif sur ses concurrents.
En analysant l'état du marché plus rapidement, elle était capable de réagir plus vite, d'acheter des actions avant les autres, à un prix plus bas, et de les revendre avec profit à ses concurrents, dont les ordres d'achat arrivaient plus tard.
Dans ce domaine-là, une différence d'optimisation de l'ordre de quelques millisecondes est donc cruciale :
"[Le trading] est devenu une course à l'armement, technologique, et ce qui sépare les gagnants des perdants, c'est leur temps de réaction" - New York Stock Exchange Euronext
A vous de vous faire votre propre avis
Chaque activité est différente, et il n'est pas possible de prédire les effets de la latence de votre site web sur votre fréquentation et vos revenus.
Toutefois, vous pouvez très bien rapprocher ce nouveau paramètre avec les métriques classiques de votre site (clics, pages vues, pages par visiteur, revenu par visiteur, etc), pour en estimer ses effets.
Si vous voulez aller plus loin, vous pouvez très bien "injecter" dans votre application une latence artificielle pour un groupe de test (par exemple un FAI particulier, une plage d'adresses IP), pour obtenir des résultats chiffrés, plus précis.
Tout comme l'ont fait Bing et Google ...
Conclusion
En me plongeant dans la recherche de résultats concrets et quantifiables, pour ce qui était à la base un "ressenti" lié à mon expérience professionnelle, je me suis aperçu que certaines sociétés s'étaient posées les mêmes questions que moi.
Et que les conclusions, pour ceux qui avaient benchmarké la latence, étaient unanimes : oui, l'absence de latence, la rapidité d'affichage d'un site web, influencent directement la fréquentation d'un site web, ainsi que ses revenus, alors qu'une mauvaise latence, même si elle est due à une congestion temporaire, influence négativement le trafic du site, à court ainsi qu'à long terme.
Que l'optimisation ne permet pas seulement de ne pas perdre de visiteurs, mais qu'en plus, elle permet, lorsque les sites ont un contenu plus riche et donc sont naturellement plus lents (sites marchands par exemple) de se différencier des autres concurrents, et donc de gagner des visiteurs et des revenus.
Pourtant, bien que j'aie eu à héberger des sites à fort trafic pour des clients prestigieux, c'est une question qui a été très rarement soulevée.
Les chefs de projet qui m'ont demandé des tests de montée en charge d'eux-mêmes se comptent sur les doigts d'une (demi-)main, et je n'en connais aucun qui se soit posé la question du "confort" du visiteur.
La plupart des questions portaient sur le nombre maximal de visiteurs que pourrait supporter l'infrastructure, pour savoir s'il était compatible avec les objectifs du marketing.
Ce qui démontre bien qu'il y a une différence de taille entre les objectifs habituellement fixés par les équipes projet, et les réalités du marché.
C'est encore aujourd'hui un "gap culturel" qui n'est pas prêt d'être comblé !
Ce qui me renvoie une fois de plus au constat de James Hamilton : "Speed [is] an undervalued and under-discussed asset on the web" ...