Understanding the quality of web browsing enjoyed by users is key to optimize services and keep users’ loyalty. This
is crucial for both Content Providers and Internet Service Providers (ISPs). Quality is intrinsically subjective, and the
complexity of today’s websites challenges its measurement. Objective metrics like OnLoad time and SpeedIndex are
notable attempts to quantify web performance. However, these metrics can only be computed by instrumenting the
browser and, thus, are not available to ISPs.
PAIN (PAssive INdicator) is an automatic system to monitor the performance of websites from passive measurements.
It is open source and available for download. It leverages only flow-level and DNS measurements which are still possible
in the network despite the deployment of HTTPS. With unsupervised learning, PAIN automatically creates a model from
the timeline of requests issued by browsers to render web pages, and uses it to measure website performance in real-time.
We compare PAIN to objective metrics based on in-browser instrumentation and find strong correlations between the
approaches. PAIN correctly highlights worsening network conditions and provides visibility into websites performance.
We let PAIN run on an operational ISP network, and find that it is able to pinpoint performance variations across time
and groups of users.