SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Measuring latency
from the browser
Paper presented at #WebBR2015
Agustín Formoso - LACNIC Labs
simon.lacnic.net
@proyectosimonhttp://simon.lacnic.net
Agenda
• O projeto
• Latencia, Javascript, e TCP
• Os testes
• Próximos pasos
@proyectosimonhttp://simon.lacnic.net
The project
@proyectosimonhttp://simon.lacnic.net
The project
The problem
• Connectivity in LAC is good but not
optimal
• Presence of IXPs, but inter-country
connectivity still has to be improved
• Information about connectivity is not
easy to find or updated
The solution
• Objective

Provide representative and up-to-date
connectivity measurements to anyone
interested in them
• How

Latency measurements from many
origins, to many destinations, via
different protocols
@proyectosimonhttp://simon.lacnic.net
The project

Reports
BR <—> BR
BR <—> MX BR <—> Region
Connectivity information regarding a certain
country against
• The country itself
• Other countries
• The LAC region
@proyectosimonhttp://simon.lacnic.net
Latency
One way
• Two clocks
• Clocks sync
• Hard
RTT
• One clock
• Easier
• Everything running in one endpoint
(the application)
• Send packet and time the RTT
• Paths!
@proyectosimonhttp://simon.lacnic.net
Why bother with the browser?
Pros
• Standard and widely-used
technologies
• Ran at the end user
• Can trigger measurements
automatically
• Scales fast
Cons
• Browser and operating system
combination differences
- TCP connections are handled differently
by browser and OS combination!
- Browser Javascript engines vary
- OSes handle processes differently
• Need of normalising different
environments!
@proyectosimonhttp://simon.lacnic.net
Why bother with the browser?
@proyectosimonhttp://simon.lacnic.net
Why bother with the browser?
Cons
• Where is the delay happening?
• Do we need to know where is it
happening?
• Black-box test them!
@proyectosimonhttp://simon.lacnic.net
Latency, Javascript
and TCP
@proyectosimonhttp://simon.lacnic.net
Latency, Javascript and TCP
Some code
$.jsonp({
type: 'GET',
url: 'http://mytestpoint.net/1442778041426',
error: function () {
rtt = (+new Date - ts);
}
});
ts = +new Date;
@proyectosimonhttp://simon.lacnic.net
Latency, Javascript and TCP
Connection establishment
• TCP connection overhead
• One time only
• Keep it open
@proyectosimonhttp://simon.lacnic.net
Latency, Javascript and TCP
Successive “GETs”
• Used every time after TCP
connection has been made
@proyectosimonhttp://simon.lacnic.net
Latency, Javascript and TCP
Successive “GETs”
• High level HTTP RTT
• t0, t1, d1, d2
• data
t0
t1
}d1
}d2
If
d1→0 and
d2→0
then
t1 - t0→RTT (http)
@proyectosimonhttp://simon.lacnic.net
Latency, Javascript and TCP
Successive “GETs”
• High level HTTP RTT
• t0, t1, d1, d2
• data
“RTT (http)”
@proyectosimonhttp://simon.lacnic.net
Latency, Javascript and TCP
Comparison
• Tester running at the client
• tcpdump running at the client
• Save both tcpdump and tester 

output
~200 ~210
@proyectosimonhttp://simon.lacnic.net
The tests
@proyectosimonhttp://simon.lacnic.net
The tests
Testing our tool in Browserstack
• Cloud-based testing service
aimed at web developers to
check the look & feel and
responsiveness of their sites
• We use it to run our Javascript
tool over many different OS and
browser combination

• We used automated Selenium
tests
@proyectosimonhttp://simon.lacnic.net
The tests
Javascript tool
• Ran in the virtual instance
• Fixed origin, fixed destination
• Simple HTTP GET
• Time the RTT
• Parallel sessions with a reference environment always present
@proyectosimonhttp://simon.lacnic.net
The tests
The data: first glance
~360~350
@proyectosimonhttp://simon.lacnic.net
The tests
The data: time anomalies
@proyectosimonhttp://simon.lacnic.net
The tests
The data: serious time anomalies
@proyectosimonhttp://simon.lacnic.net
The tests
The data: IQR filtering
@proyectosimonhttp://simon.lacnic.net
The tests
The data: second glance
11 ms
@proyectosimonhttp://simon.lacnic.net
The tests
The data: adjusting it
+11 ms
@proyectosimonhttp://simon.lacnic.net
The tests
Normalising results
Windows 7
Windows
8.1
OS X Windows XP Windows 8
Chrome family 0 +1.9 -7.2 -1.4 +0.1
Firefox

family
-3.9 -2.8 -11.4 -4.8 -5.6
Our reference environment[Results are in ms]
@proyectosimonhttp://simon.lacnic.net
The tests
Normalising results
• Two distinct behaviours
- Firefox vs. Chrome
- OS X versus the rest
[Lighter blue means faster]
@proyectosimonhttp://simon.lacnic.net
Still…
• Uncertainties on virtualisation software
• No tests for mobile or Linux yet (~8% of seen traffic)
@proyectosimonhttp://simon.lacnic.net
Test conclusions
• The browser: great tool for delivering large-scale measurements but
- Huge variety
- Measurement noise can be high
@proyectosimonhttp://simon.lacnic.net
LAC regional
matrix
[Lighter blue means faster]
• Origins on the left
• Destinations on the top
@proyectosimonhttp://simon.lacnic.net
Next steps
@proyectosimonhttp://simon.lacnic.net
Next steps
WebResourceAPI
@proyectosimonhttp://simon.lacnic.net
Next steps
WebResourceAPI
• connectStart
• connectEnd
• RTT = connectEnd - connectStart

(kind of)
@proyectosimonhttp://simon.lacnic.net
Next steps
Doing HTTP HEAD
• No data payload!
• Get rid of big 404 pages.
}payload
@proyectosimonhttp://simon.lacnic.net
Next steps
• We need more tests! (currently at ~1.5K daily)
• More information at AS level
• Customised reports
• traceroutes (currently ICMP Pinging only)
Obrigado!
Perguntas
/LACNIC/simon Colabore!
@proyectosimon Compartilhe!
simon.lacnic.net Visite!
agustin@lacnic.net
@aguformoso

Más contenido relacionado

La actualidad más candente

Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...
Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...
Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...
mfrancis
 
Bachelor's Thesis Presentation (shortened)
Bachelor's Thesis Presentation (shortened)Bachelor's Thesis Presentation (shortened)
Bachelor's Thesis Presentation (shortened)
Nikita Kurpas
 

La actualidad más candente (19)

Netty Cookbook - Table of contents
Netty Cookbook - Table of contentsNetty Cookbook - Table of contents
Netty Cookbook - Table of contents
 
Flink Connector Development Tips & Tricks
Flink Connector Development Tips & TricksFlink Connector Development Tips & Tricks
Flink Connector Development Tips & Tricks
 
Microservices are the Future! (...and always will be) - Josh Holtzman, PayPal...
Microservices are the Future! (...and always will be) - Josh Holtzman, PayPal...Microservices are the Future! (...and always will be) - Josh Holtzman, PayPal...
Microservices are the Future! (...and always will be) - Josh Holtzman, PayPal...
 
How to: node js & micro-services
How to: node js & micro-servicesHow to: node js & micro-services
How to: node js & micro-services
 
Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...
Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...
Distributed OSGi Services with the Eclipse Communication Framework - Jan Rell...
 
Bachelor's Thesis Presentation (shortened)
Bachelor's Thesis Presentation (shortened)Bachelor's Thesis Presentation (shortened)
Bachelor's Thesis Presentation (shortened)
 
Prometheus
PrometheusPrometheus
Prometheus
 
Beyond FTP & hard drives: Accelerating LAN file transfers
Beyond FTP & hard drives: Accelerating LAN file transfersBeyond FTP & hard drives: Accelerating LAN file transfers
Beyond FTP & hard drives: Accelerating LAN file transfers
 
Inter-Process Communication in Microservices using gRPC
Inter-Process Communication in Microservices using gRPCInter-Process Communication in Microservices using gRPC
Inter-Process Communication in Microservices using gRPC
 
Bathcamp 2010-riak
Bathcamp 2010-riakBathcamp 2010-riak
Bathcamp 2010-riak
 
ProgrammableFlow for Open Virtualized Data Center Network
ProgrammableFlow for Open Virtualized Data Center NetworkProgrammableFlow for Open Virtualized Data Center Network
ProgrammableFlow for Open Virtualized Data Center Network
 
Flink Forward San Francisco 2019: Towards Flink 2.0: Rethinking the stack and...
Flink Forward San Francisco 2019: Towards Flink 2.0: Rethinking the stack and...Flink Forward San Francisco 2019: Towards Flink 2.0: Rethinking the stack and...
Flink Forward San Francisco 2019: Towards Flink 2.0: Rethinking the stack and...
 
Reactive micro services using RSocket
Reactive micro services using RSocketReactive micro services using RSocket
Reactive micro services using RSocket
 
Aplication and Transport layer- a practical approach
Aplication and Transport layer-  a practical approachAplication and Transport layer-  a practical approach
Aplication and Transport layer- a practical approach
 
IOT and System Platform From Concepts to Code
IOT and System Platform From Concepts to CodeIOT and System Platform From Concepts to Code
IOT and System Platform From Concepts to Code
 
Building Language Agnostic APIs with gRPC - JavaDay Istanbul 2017
Building Language Agnostic APIs with gRPC - JavaDay Istanbul 2017Building Language Agnostic APIs with gRPC - JavaDay Istanbul 2017
Building Language Agnostic APIs with gRPC - JavaDay Istanbul 2017
 
Reactive Programming In Java Using: Project Reactor
Reactive Programming In Java Using: Project ReactorReactive Programming In Java Using: Project Reactor
Reactive Programming In Java Using: Project Reactor
 
Xamarin Form using ASP.NET Core SignalR client
Xamarin Form using ASP.NET Core SignalR clientXamarin Form using ASP.NET Core SignalR client
Xamarin Form using ASP.NET Core SignalR client
 
Experiment for large-scale operation of LibreOffice Online, 2019 Edition
Experiment for large-scale operation of LibreOffice Online, 2019 EditionExperiment for large-scale operation of LibreOffice Online, 2019 Edition
Experiment for large-scale operation of LibreOffice Online, 2019 Edition
 

Similar a Measuring latency from the browser

Presentation on Application layer_201.pdf
Presentation on Application layer_201.pdfPresentation on Application layer_201.pdf
Presentation on Application layer_201.pdf
prince2412001
 
Implementation ans analysis_of_quic_for_mqtt
Implementation ans analysis_of_quic_for_mqttImplementation ans analysis_of_quic_for_mqtt
Implementation ans analysis_of_quic_for_mqtt
Puneet Kumar
 
D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-Signaling
Oleg Levy
 

Similar a Measuring latency from the browser (20)

Measuring latency from the browser
Measuring latency from the browserMeasuring latency from the browser
Measuring latency from the browser
 
Building real time applications with Symfony2
Building real time applications with Symfony2Building real time applications with Symfony2
Building real time applications with Symfony2
 
WebRTC Seminar Report
WebRTC  Seminar ReportWebRTC  Seminar Report
WebRTC Seminar Report
 
WebRTC
WebRTCWebRTC
WebRTC
 
BWE in Janus
BWE in JanusBWE in Janus
BWE in Janus
 
WebSockets wiith Scala and Play! Framework
WebSockets wiith Scala and Play! FrameworkWebSockets wiith Scala and Play! Framework
WebSockets wiith Scala and Play! Framework
 
How we use Twisted in Launchpad
How we use Twisted in LaunchpadHow we use Twisted in Launchpad
How we use Twisted in Launchpad
 
Real-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service BusReal-time web applications using SharePoint, SignalR and Azure Service Bus
Real-time web applications using SharePoint, SignalR and Azure Service Bus
 
Network
NetworkNetwork
Network
 
Presentation on Application layer_201.pdf
Presentation on Application layer_201.pdfPresentation on Application layer_201.pdf
Presentation on Application layer_201.pdf
 
Java socket programming
Java socket programmingJava socket programming
Java socket programming
 
Implementation ans analysis_of_quic_for_mqtt
Implementation ans analysis_of_quic_for_mqttImplementation ans analysis_of_quic_for_mqtt
Implementation ans analysis_of_quic_for_mqtt
 
Introduction to SignalR
Introduction to SignalRIntroduction to SignalR
Introduction to SignalR
 
Meteor Revolution: From DDP to Blaze Reactive Rendering
Meteor Revolution: From DDP to Blaze Reactive Rendering Meteor Revolution: From DDP to Blaze Reactive Rendering
Meteor Revolution: From DDP to Blaze Reactive Rendering
 
Socket.IO
Socket.IOSocket.IO
Socket.IO
 
Coap based application for android phones
Coap based application for android phonesCoap based application for android phones
Coap based application for android phones
 
DevCon 5 (July 2013) - WebSockets
DevCon 5 (July 2013) - WebSocketsDevCon 5 (July 2013) - WebSockets
DevCon 5 (July 2013) - WebSockets
 
Best practices of building data streaming API
Best practices of building data streaming APIBest practices of building data streaming API
Best practices of building data streaming API
 
Virtual Flink Forward 2020: How Streaming Helps Your Staging Environment and ...
Virtual Flink Forward 2020: How Streaming Helps Your Staging Environment and ...Virtual Flink Forward 2020: How Streaming Helps Your Staging Environment and ...
Virtual Flink Forward 2020: How Streaming Helps Your Staging Environment and ...
 
D1-3-Signaling
D1-3-SignalingD1-3-Signaling
D1-3-Signaling
 

Último

Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 

Último (20)

Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01Double rodded leveling 1 pdf activity 01
Double rodded leveling 1 pdf activity 01
 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete RecordCCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
CCS335 _ Neural Networks and Deep Learning Laboratory_Lab Complete Record
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
 
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Walvekar Nagar Call Me 7737669865 Budget Friendly No Advance Booking
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
KubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghlyKubeKraft presentation @CloudNativeHooghly
KubeKraft presentation @CloudNativeHooghly
 
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...Bhosari ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For ...
Bhosari ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For ...
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 

Measuring latency from the browser