Enjeux de la latence
applicative
Janvier 2015
Motwin
• Clients : Betclic, Consors Bank, BNP Paribas, CST,
AXA, La Banque Postale
• 15 personnes (13 à Grenobles, 2 à Par...
Définitions / rappels
• Latence ≠ bande passante
– Latence réseau (RTD) = délai d’un aller-retour pour le
plus petit paque...
4
Notre cerveau
Sources : Public Library of Science, Appdynamics, “Timing responses to questions in dialogue”, Sofia Ström...
5
Effet du temps de réaction d’une
application sur l’homme
5
Délai de
réaction d’une
application
Impact /
sensation sur
l’...
6
Pour Google, Amazon, Wallmart, Redhat,
ebay, …
6Source : http://blog.radware.com/applicationdelivery/applicationaccelera...
7
Le temps de communication
est une fonction de
La perception,
La latence,
Le débit,
La quantité de donnée ,
Le nombre de ...
Netflix UI
8
Netflix solution (1/2)
9
Interface Table Doc JSON JSON Patch
Taille tableau dépend du device
JSON patch : standard de
gest...
Netflix solution (2/2)
10
Device Cache ServerApplication
First visit
Second visit or
during first visit
1 request : JSON
J...
11
Pourquoi Google, ebay,
Twitter, Facebook, Amazon :
protocoles full-duplex et
des APIs de type push
(websocket, SPDY, MQ...
12
Latence réseau (RTD)
4G = Fibre optique Trans-continental
0 100 200 300 400
EDGE/2G
3G
4G
Trans-continental optic fiber...
131313
« Hello !»
« Yes ?! »
« Cool ! »
« I want this »
« OK »
« Here! »
HTTP
1st page
2nd page
« Hello !»
« Again?! »
« C...
14
Conclusions
• Au-delà de 2 secondes de temps de réaction,
l’expérience utilisateur sera pauvre
• Pour créer un expérien...
15
Merci. Question ?
nicolas.babel@motwin.com
@motwin_inc
www.motwin.com
Prochain produit : www.streamdata.io
Proxy aaS (A...
Beta : streamdata.io
16
API
HTTP
Poll
JSON
API
Push
JSON
Patch
Provider
Proxy aaS
Motwin Clients /
Applications
var stream...
Prochain SlideShare
Chargement dans…5
×

20150126 latence 10 minutes - human talk

582 vues

Publié le

Présentation sur la latence applicative, ses conséquences sur l'usage et les nouvelles solutions pour contrer la forte latence réseau du mobile

Publié dans : Technologie
2 commentaires
1 j’aime
Statistiques
Remarques
Aucun téléchargement
Vues
Nombre de vues
582
Sur SlideShare
0
Issues des intégrations
0
Intégrations
96
Actions
Partages
0
Téléchargements
3
Commentaires
2
J’aime
1
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

20150126 latence 10 minutes - human talk

  1. 1. Enjeux de la latence applicative Janvier 2015
  2. 2. Motwin • Clients : Betclic, Consors Bank, BNP Paribas, CST, AXA, La Banque Postale • 15 personnes (13 à Grenobles, 2 à Paris) 2 Motwin édite un logiciel d’optimisation d’APIs pour des applications sensibles au temps pour mobiles, objets connectés et web.
  3. 3. Définitions / rappels • Latence ≠ bande passante – Latence réseau (RTD) = délai d’un aller-retour pour le plus petit paquet possible – Bande passante = quantité total de données transférable en même temps • Latence applicative : délai entre l’action d’un utilisateur et les conséquences de cette action – Souvent l’affichage de nouvelles informations 3
  4. 4. 4 Notre cerveau Sources : Public Library of Science, Appdynamics, “Timing responses to questions in dialogue”, Sofia Strömbergsson, Anna Hjalmarsson, Jens Edlund, David House - Department of Speech, Music and Hearing, KTH, Stockholm, Sweden Nombres Arabes (150ms) Comparaison (190ms) Mouvement (330ms) Correction d’erreur (470ms) Temps de réaction : 100 à 500 ms Temps de réponse à une question entre humains : 100 à 500 ms Mémoire court terme : 500 ms Mémoire sensorielle Durée : 0,5 max pour visuel 2 sec pour audio Mémoire court-terme Durée : 30 secondes max Mémoire long-terme Temps de réponse moyenne à une question (milliseconde) 460 310 180 90 Question ouverte Question à réponse simple Question dont la réponse est Oui/Non Question incluant les réponses possibles
  5. 5. 5 Effet du temps de réaction d’une application sur l’homme 5 Délai de réaction d’une application Impact / sensation sur l’utilisateur 0,1 Secondes0,5 2 3 5 101 4 « Instantané » Parfait (eq. Relation humaine) Sans attente « Lent » 40 à 60% d’abandon sur le web desktop « Très Lent » 30 à 40% d’abandon sur le web mobile Perte d’attention Enervement Fatigue Temps « normal »
  6. 6. 6 Pour Google, Amazon, Wallmart, Redhat, ebay, … 6Source : http://blog.radware.com/applicationdelivery/applicationaccelerationoptimization/2013/06/web-performance-poverty-line/ Source : http://www.ebaytechblog.com/2013/03/29/measuring-real-user-experience-with-site-speed-gauge/#.VFIHLvTF9CN Source : http://www.webperformancetoday.com/2011/11/08/velocity-faster-mobile-sites-business-kpis-case-studies/ - 100 ms = - 1% Revenue & - 5% pages vues « If the display time increases 500ms , research fell by 25% » « If the display time increases by 100 ms, the revenue goes down to 1% »
  7. 7. 7 Le temps de communication est une fonction de La perception, La latence, Le débit, La quantité de donnée , Le nombre de requêtes, Le protocole. Afficher des éléments rapidement Programmation : flush , Post-load , pre-load CDN Akamai Technologies, Edgecast, level 3, Amazon, OVH, CDNetworks Mémoires Cache Au niveau serveur et devices Préparer la mémoire cache en avance Infrastructures Bande passante & CPU Compresser Gzip/deflate via accept- encoding / content- encoding Formats de données Ex : JSON > HTML Protocole de communication (binaire, push, websocket,SSE,…) Qualité de programmation Réduire le nombre de request en les regroupant, Mettre les scripts après le maximum de requests , Eviter les requêtes interdépendantes , Domain Sharding, Web : éviter les expressions CSS, les Redirects, …. Adapter Quantité / qualité selon le device
  8. 8. Netflix UI 8
  9. 9. Netflix solution (1/2) 9 Interface Table Doc JSON JSON Patch Taille tableau dépend du device JSON patch : standard de gestion des évolutions d’un document par versionning Simplification of Netflix (JSONG + Cache)
  10. 10. Netflix solution (2/2) 10 Device Cache ServerApplication First visit Second visit or during first visit 1 request : JSON JSON Patch = 0 Latency Simplification of Netflix (JSONG + Cache)
  11. 11. 11 Pourquoi Google, ebay, Twitter, Facebook, Amazon : protocoles full-duplex et des APIs de type push (websocket, SPDY, MQTT,…)
  12. 12. 12 Latence réseau (RTD) 4G = Fibre optique Trans-continental 0 100 200 300 400 EDGE/2G 3G 4G Trans-continental optic fiber Trans-country optic fiber ADSL In-town private network Source : http://www.digitalsociety.org/2010/08/conflating-broadband-speed-with-internet-speed-is-misleading/ http://www.dslreports.com/ Pour l’ADSL en HTTP la première donnée « utile » arrive après 40 ms, en 3G après 300 ms
  13. 13. 131313 « Hello !» « Yes ?! » « Cool ! » « I want this » « OK » « Here! » HTTP 1st page 2nd page « Hello !» « Again?! » « Cool ! » « I want this » « OK » « Here! » 1st page – Data refresh (*) « Yeah … » « Cool !» « OK » « Here! » « Hello !» « Yes ?! » « I want this » « OK » « Tiens! » 1st page 2nd page «I want this » « Here! » 1st page – data refresh « Here! » Bidirectional protocol Note: (* ) upgradeable scenario with long polling Protocole « classique » versus protocole bidirectionnel (full-duplex) « Hello !» « I want this » « Cool ? »
  14. 14. 14 Conclusions • Au-delà de 2 secondes de temps de réaction, l’expérience utilisateur sera pauvre • Pour créer un expérience émotionnelle, l’objectif est un temps de réaction de 500ms • Il est quasiment impossible d’obtenir ces temps de réponse sur mobile sans mettre en œuvre des protocoles full-duplex • Les grands investissent sur la latence … et plus il y aura d’applications rapides, plus les lentes seront mal vécues !
  15. 15. 15 Merci. Question ? nicolas.babel@motwin.com @motwin_inc www.motwin.com Prochain produit : www.streamdata.io Proxy aaS (API Poll JSON) {API Incremental Push} Beta testeur recherché ! Motwin news #1 Motwin news #2 Hackathon « Mobile Banking Factory ² ». 50000€ de prix pour des applications mobiles sur la « mobilité connectée » (CAStore, PSA, Uber, Orange, … et Motwin) mobilebankingfactory2.bemyapp.com
  16. 16. Beta : streamdata.io 16 API HTTP Poll JSON API Push JSON Patch Provider Proxy aaS Motwin Clients / Applications var streamdata.io = ProxyaaS (API JSON Poll) {JSON Patch Push}

×