Mike Brittain, Engineering Director, Mobile at EtsyDepending on your architecture, %D can include the time it takes Apache to buffer output to the network. With slow client connections, this can add a lot of time (to %D's value) that has nothing to do with your application code.1 year ago
Web Performance Culture and Tools at EtsyPresentation Transcript
Web PerformanceCulture and Toolsat Etsy Mike Brittain @mikebrittain Director of Eng., Infrastructure Etsy
All of this started in the last year.
Make PerformanceMatter
$0.20 per item3.5% transaction fee
Focus on the marketplace
ecommerce
ecommercead supported
ecommercead supportedsubscription
ecommercead supportedsubscription“free”
$$$
“Prove it.”
“Our own years of testinghave conclusively shown that when speed of a feature or product improves, usage, quite simply, goes up.” http://googleblog.blogspot.com/2009/12/this-week-in-search-121809.html
100+ web, api, jobs40+ databasesMany more doing lots of other stuff...
$$$
Performance is fun
I want you to tell me how you feel...
95th percentilemilliseconds Average
e w r! en ste h a 95th percentile w f is go is it h e T dmilliseconds m a Average
Quick graphs# /tmp/pagetimes.dat18:37 251.018:38 252.118:39 253.518:40 251.018:45 250.0 and then...
Quick graphs# GNUPLOTset terminal pngset output listings.pngset yrange [0:2000]set xdata timeset timefmt "%d/%B/%Y:%H:%M:%S"set format x "%H:%M"plot /tmp/pagetimes.dat using 1:2 with points
Quick graphs
LogsterRun by cronMaintains a cursor on log filesSimple parsing & aggregationOutput to Ganglia or Graphite github.com/etsy
Logster & Graphite Signed-in vs. Signed-out
Response timesresponses (pages) by bucket time (ms)
“Look at your Data”John Rauser, Velocity 2011 http://www.youtube.com/watch?v=coNDCIMH8bk
Idea lifted fromhttp://www.codinghorror.com/blog/2011/06/performance-is-a-feature.html
Don’t forget the API
Measureperformancedata in Production
Profiling
“I/O Profiler”Lightweight, inline profilingStart and end times wrapped around service calls databases, memcache, apc, 3rd party services, etc.Enable with query string
“I/O Profiler”
“I/O Profiler”
XHProfgithub.com/facebook/xhprofDeployed on pre-prod machineDirect access to profilingEnable with query string
Profile againstProduction
Make performance matter
Start small
Make graphs and reports
Create simple tools
Celebrate performance wins
Thank you codeascraft.etsy.comMike Brittainmike@etsy.com@mikebrittain
Jobs at Etsy We are currently hiring for a number of positions in engineering and operations. http://www.etsy.com/careers
1–6 of 6 previous next Post a comment