Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Web PerformanceCulture and Toolsat EtsyMike BrittainDir. of Engineering, InfrastructureEtsyBoston Web Performance MeetupAu...
OverviewEtsy and EngineeringMake PerformanceMatterTools and Process
http://qacreate.etsy.com
MonthlyWeather Report$38 MM in sales1.9 MM items soldhttp://etsy.me/weather-report-june-2011
MonthlyWeather Report990 MM page viewshttp://etsy.me/weather-report-june-2011
EngineeringTechnologiesLinux, Apache, MySQL,PHP, MemcacheSolr, Squid, Hadoop, Amazon S3, EC2, EMRGanglia, Cacti, Nagios, G...
EngineeringTeams90 Engineers3-6 engineers+ product developer and/or designer
EngineeringContinuousDeployment~40 releases per day inc. app code and config changes
1. Write code2. Code review3. Automated tests
1. Write code2. Code review3. Automated tests4. Dev ⇾ QA ⇾ Pre-Prod ⇾ Prod
1. Write code2. Code review3. Automated tests4. Dev ⇾ QA ⇾ Pre-Prod ⇾ Prod5. Monitor!6. Monitor!7. Monitor!
EngineeringData-DrivenDevelopment45,000+ metrics50+ dashboards
MakePerformanceMatterHave a story
Business ImpactMeasure“Our own years of testing have conclusively shown that when speed of a feature or product improves, ...
Business ImpactMeasureBounce rateSearch conversion
Business ImpactMeasurePurchase funnelAd impressions, page views andtracking discrepanciesSocial, engagement
OperationsSite StabilityMeasure perf for discrete piecesof your infrastructureContention for shared resources likedatabase...
MoraleHappy Engineers
Getting to workWhere toStart?Focus your efforts where it makessense for your business
Getting to workWhere toOptimize?Tiers of serviceSLAs
Getting to workFocusBeware of CTS:Constant Tweaking Syndrome
Getting to workFocusFriends don’t let friendstweak without graphing
MakePerformanceMatterHave your story
Tools andProcess atEtsy
ProcessEtsy’sPerf TeamStandardize patternsCreate tools and reportsCoordinate efforts
ProcessServer-sidePerformanceThere is nothing worsethan a blank page or a spinningthing-a-ma-jigger
ProcessServer-sidePerformance95th Percentile> 800 ms is a P2 bug
ProcessServer-sidePerformance
ToolsLoggingPerf-related data belongs inyour server logsapache_note()
ToolsLogging$timer_start = microtime(true); ...$timer_diff = microtime(true) - $timer_start;register_shutdown_function()ap...
ToolsLoggingLogFormat "%{True-Client-IP}i %l %u %t "%r"%>s %b "%{Referer}i" "%{User-Agent}i"%{etsy_user_id}n %{php_bytes}n...
ToolsLoggingLogFormat "%{True-Client-IP}i %l %u %t "%r"%>s %b "%{Referer}i" "%{User-Agent}i"%{etsy_user_id}n %{php_bytes}n...
ToolsLoggingLogFormat "%{True-Client-IP}i %l %u %t "%r"%>s %b "%{Referer}i" "%{User-Agent}i"%{etsy_user_id}n %{php_bytes}n...
ToolsLoggingweb0060 66.249.71.110 - - [24/Aug/2011:04:16:52+0000] "GET /listing/12189259/tropical-etched-pair-of-lampwork-...
ToolsAnalyzegrep ... access.log | awk ...grep "/listing/" access.log | awk {sum=sum+$(NF-1)} END {print sum/NR}grep "/list...
ToolsAnalyze
ToolsAnalyze1. Capture perf data in logs  page gen., Boomerang, Gomez2. Aggregate  Splunk, Logster, StatsD3. Record in Gra...
ToolsAnalyze
ToolsLogster1. Read new log entries every   minute2. Parse and aggregate useful   numbers3. Send to Graphite          http...
web0001   [04:28:54   2011]   [error] [client 10.101.x.x] Oh noooooo!web0001   [04:28:54   2011]   [warning] [client 10.10...
Fatals   Errors   Warnings
:)
ToolsStatsDCollects metrics from your appcode and sticks them in GraphiteStatsD::increment("logins.success");StatsD::timin...
ToolsStatsD         90th pct         average         lower
:) :)
ToolsPerf Dashboard
ToolsI/O ProfilerLightweight, inline profilingStart and end times wrappedaround service calls  databases, memcache, apc, etc.
ToolsI/O Profiler
ToolsI/O Profiler
ToolsClient-sideTestingGomez (API), Boomerang,WebPagetest
ToolsShowSlowTracks front-end best practices
ToolsShowSlowInternal instanceAutomated testingEnd-point for I/O ProfilerTrending on individual rules           http://show...
Other thoughtsYSlow &Page SpeedMind your development process3rd-party content and ga.js“Use a CDN”
Other thoughtsDevice-SpecificDesignThe mobile web is very muchabout designing for performanceScreen size, pixel density, co...
MakePerformanceMatterHave your storyUse tools and processto focus your efforts
We areHiringhttp://etsy.com/careersSoftware Engineering positions available ina number of teams, including Analytics,Opera...
ThankYouMike Brittainmike@etsy.com@mikebrittainCodeAsCraft.etsy.comgithub.com/etsygraphite.wikidot.comshowslow.com
We areHiringhttp://etsy.com/careersSoftware Engineering positions available
Prochain SlideShare
Chargement dans…5
×

We areHiringhttp://etsy.com/careersSoftware Engineering positions available Web Performance Culture and Tools at Etsy

20 109 vues

Publié le

We areHiringhttp://etsy.com/careersSoftware Engineering positions available ina number of teams, including Analytics,Operations, Web Performance, Payments,Core Platform, Front-End, Internal Apps,Search, Security, and more...

Publié dans : Technologie
  • Identifiez-vous pour voir les commentaires

×