38
How Synthetic Monitoring Helps Optimize Performance Presented by: Xoan Vilas, Performance Lead, trivago

How Synthetic Monitoring Helps Optimize Web Performance

Embed Size (px)

Citation preview

Page 1: How Synthetic Monitoring Helps Optimize Web Performance

How Synthetic Monitoring Helps Optimize Performance

Presented by: Xoan Vilas, Performance Lead, trivago

Page 2: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

55 live platforms

DUS

SFO

CANHKG

Page 3: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

FactSheet Some data values to get an idea

Unique visitors:   120 Million/month Number of Web requests: 230 Million/day CDN images traffic: 350TB/month Image Requests: 12 Billion/month  

Page 4: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Performance strategy

  End User Experience

Synthetic MonitoringReal User Monitoring (RUM)Traffic mirroring

Analytics Reporting

Components DeepDive

Application Architecture

Dimension Area of focus Objective

Metrics collection and standardisation Real time metrics visualisation with per 10 second resolution

Measure and improve user performance perception

Backend application profiling Frontend application profiling Log data discovery

Transaction flow Unique identifier

Application and hardware optimisation Capacity planning Trends reporting Bottlenecks and anomalies detection

Improve code for better performance Automate code performance measurementsFind code errors and patterns

Mapping transactions and applications to the underlaying infrastructure

Page 5: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Backend Performance

Page 6: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Backend performance overview

Top 3 changes in 2016 with the biggest performance impact

Page 7: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Upgrade to PHP7

Lower memory & CPU consumption & faster responses *

*) https://twitter.com/xo4n/status/734762501867442176

Page 8: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Higher CPU clock speed

From 2.60Ghz to 3.07Ghz > 70ms faster PHP response time *

*) https://twitter.com/xo4n/status/755774522146557952

Page 9: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Impact in conversionsfaster responses lead to more conversions. Case studies in wpostats.com already indicated that

Page 10: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Frontend Performance

Page 11: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Webpack & JS startup improvements

#1 Reduce asset size by loading features on demand #2 Asset caching #3 Prioritise users over collecting data #4 Inline SVG icons

http://tech.trivago.com/2016/08/19/js-startup-improvements/

Page 12: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Page 13: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Prioritising users vs collecting data

Page 14: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Number of items per page Year to Year js files increase after the introduction of WebPack

Page 15: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Inline SVG iconsWe improved the maintenance of trivago icon system and got better performance as a bonus

http://tech.trivago.com/2016/09/05/inline-svg-icon-system/

Page 16: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Moving to HTTPS The road to #pwa

Page 17: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Moving to HTTPS Keep an eye on latency impact and 3rd parties SSL performance

Page 18: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Introducing HTTP2 The road to #pwa

Page 19: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

trivago in China

Page 20: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Custom setup

Mixed hosting in Mainland and HongKong

Page 21: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Backend performance improvement

MPLS line between datacenter in mainland China and HKG

Page 22: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

DNS performance

The importance of DNS is often forgotten and has big impact

Page 23: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Third parties performance in China

trivago improved response times but 3rd parties not

Page 24: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Troubleshooting and Feature performance

Page 25: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

CDN evaluation ChinaCache vs ChinaNetCenter

Page 26: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

CDN configuration ChinaCache set up

Page 27: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

CDN issues Edgecast outage

Page 28: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Assets delivery Assets caching issues caused by Varnish miss configuration

Page 29: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Third party issues Miss configured 3rd parties on trivago’s brazilian platform

Page 30: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Feature testing Compare performance of different features

Page 31: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

room5trivago’s online hotel magazine

Page 32: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Content Marketing Scaling and optimizing a wordpress blog on AWS

Page 33: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Higher CPU clock speed

From 2.60Ghz to 3.07Ghz > 70ms faster PHP response time *

*) https://twitter.com/xo4n/status/755774522146557952

Page 34: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Facebook token

Query optimizationPHP7

Cache2 weeks

Performance optimisations

Page 35: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Results after optimisations

Page 36: How Synthetic Monitoring Helps Optimize Web Performance

Xoan Vilas - @xo4n

Analyze ImproveMeasure

Page 37: How Synthetic Monitoring Helps Optimize Web Performance
Page 38: How Synthetic Monitoring Helps Optimize Web Performance

THANK YOU! Please don’t forget to fill out the mobile app survey for this session