20150126 latence 10 minutes - human talk
-
Upload
community-motwin -
Category
Technology
-
view
194 -
download
1
Transcript of 20150126 latence 10 minutes - human talk
Enjeux de la latence
applicative
Janvier 2015
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.
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
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 sensorielleDurée : 0,5 max pour visuel
2 sec pour audio
Mémoire court-termeDurée : 30 secondes max
Mémoire long-terme
Temps de réponse moyenne à une question (milliseconde)
460
310
180
90
Question ouverte
Question à réponsesimple
Question dont laréponse est Oui/Non
Question incluant lesréponses possibles
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’attentionEnervementFatigue
Temps « normal »
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/#.VFIHLvTF9CNSource : 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 increases500ms , research fell by 25% »
« If the display time increases by 100 ms, the revenue goes down to 1% »
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 rapidementProgrammation : flush , Post-load , pre-load
CDNAkamai Technologies, Edgecast, level 3, Amazon, OVH, CDNetworks
Mémoires CacheAu niveau serveur et devices
Préparer la mémoire cache en avance
InfrastructuresBande passante & CPU
CompresserGzip/deflate via accept-
encoding / content-encoding
Formats de données
Ex : JSON > HTML
Protocole de communication (binaire, push, websocket,SSE,…)
Qualité de programmationRé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, ….
AdapterQuantité / qualité selon
le device
Netflix UI
8
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)
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
Pourquoi Google, ebay, Twitter, Facebook, Amazon :
protocoles full-duplex et des APIs de type push
(websocket, SPDY, MQTT,…)
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
131313
« Hello !»« Yes ?! »
« Cool ! »
« I want this »« OK »« Here! »
HTTP1st 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
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
Merci. Question [email protected]
@motwin_incwww.motwin.com
Prochain produit : www.streamdata.ioProxy 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
Beta : streamdata.io
16
APIHTTPPoll
JSON
APIPushJSON Patch
Provider
Proxy aaS
Motwin Clients / Applications
var streamdata.io = ProxyaaS (API JSON Poll) {JSON Patch Push}