View
46
Download
1
Category
Preview:
Citation preview
How Synthetic Monitoring Helps Optimize Performance
Presented by: Xoan Vilas, Performance Lead, trivago
Xoan Vilas - @xo4n
55 live platforms
DUS
SFO
CANHKG
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
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
Xoan Vilas - @xo4n
Backend Performance
Xoan Vilas - @xo4n
Backend performance overview
Top 3 changes in 2016 with the biggest performance impact
Xoan Vilas - @xo4n
Upgrade to PHP7
Lower memory & CPU consumption & faster responses *
*) https://twitter.com/xo4n/status/734762501867442176
Xoan Vilas - @xo4n
Higher CPU clock speed
From 2.60Ghz to 3.07Ghz > 70ms faster PHP response time *
*) https://twitter.com/xo4n/status/755774522146557952
Xoan Vilas - @xo4n
Impact in conversionsfaster responses lead to more conversions. Case studies in wpostats.com already indicated that
Xoan Vilas - @xo4n
Frontend 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/
Xoan Vilas - @xo4n
Xoan Vilas - @xo4n
Prioritising users vs collecting data
Xoan Vilas - @xo4n
Number of items per page Year to Year js files increase after the introduction of WebPack
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/
Xoan Vilas - @xo4n
Moving to HTTPS The road to #pwa
Xoan Vilas - @xo4n
Moving to HTTPS Keep an eye on latency impact and 3rd parties SSL performance
Xoan Vilas - @xo4n
Introducing HTTP2 The road to #pwa
Xoan Vilas - @xo4n
trivago in China
Xoan Vilas - @xo4n
Custom setup
Mixed hosting in Mainland and HongKong
Xoan Vilas - @xo4n
Backend performance improvement
MPLS line between datacenter in mainland China and HKG
Xoan Vilas - @xo4n
DNS performance
The importance of DNS is often forgotten and has big impact
Xoan Vilas - @xo4n
Third parties performance in China
trivago improved response times but 3rd parties not
Xoan Vilas - @xo4n
Troubleshooting and Feature performance
Xoan Vilas - @xo4n
CDN evaluation ChinaCache vs ChinaNetCenter
Xoan Vilas - @xo4n
CDN configuration ChinaCache set up
Xoan Vilas - @xo4n
CDN issues Edgecast outage
Xoan Vilas - @xo4n
Assets delivery Assets caching issues caused by Varnish miss configuration
Xoan Vilas - @xo4n
Third party issues Miss configured 3rd parties on trivago’s brazilian platform
Xoan Vilas - @xo4n
Feature testing Compare performance of different features
Xoan Vilas - @xo4n
room5trivago’s online hotel magazine
Xoan Vilas - @xo4n
Content Marketing Scaling and optimizing a wordpress blog on AWS
Xoan Vilas - @xo4n
Higher CPU clock speed
From 2.60Ghz to 3.07Ghz > 70ms faster PHP response time *
*) https://twitter.com/xo4n/status/755774522146557952
Xoan Vilas - @xo4n
Facebook token
Query optimizationPHP7
Cache2 weeks
Performance optimisations
Xoan Vilas - @xo4n
Results after optimisations
Xoan Vilas - @xo4n
Analyze ImproveMeasure
THANK YOU! Please don’t forget to fill out the mobile app survey for this session
Recommended