Download pptx - Seawebperf 201207

Transcript
  • 1. Seattle WebPerformance Group Using Continuous Integration for Performance Testing
  • 2. Web Performance Best Practices YSlow Continuous Integration Discussion: Web Performance Internally Discussion: Whats Next?Agenda
  • 3. Steve Souders High Performance Web Sites 14 rules Even Faster Web Sites More Best Practices for Web 2.0 Sites Yahoo Exceptional Performance Team OpenSourceWeb PerformanceBest Practices
  • 4. YSlow version 1 Based in Firebug Firefox Plugin 13 rules, 12 testableEnter YSlow!
  • 5. YSlow version 2 34 rules, 23 testable Multiple ways to use it Firefox Opera Chrome Safari Command Line/NodeJS (HAR) PhantomJS (Headless)More Better YSlow!
  • 6. Test, Test, Test Test in production Determine what to enhance & refine Test during development Make sure that your fixes work and that performance is getting better Test after development Make sure you are not degrading performanceYSlow! Best Uses
  • 7. Using YSlow to prevent performance degradation Could use Command Line/NodeJS and HAR files Create the HttpArchive files Not really automatable Use PhantomJS Headless Easy to ScriptContinuous YSlow!
  • 8. Build PhantomJS Pre 1.5 requires an xserver Download the YSlow code It is obfuscated JavaSvript Source is available on Github Run some tests ManuallyContinuous YSlow!
  • 9. YSlow for PhantomJS supports multiple formats JSON (default) XML Plain Text JUnit TAP Can adjust other settings as well Test thresholds User-agents HeadersContinuous YSlow!
  • 10. Jenkins and JUnit phantomjs /tmp/yslow.js -i grade --theshold B -f junit http://webpage > yslow.xml -i grade specifies that all rules will be tested --threshold B specifies the lowest acceptable score for all rules as well as the overall score -f junit specifies the output format http://webpage - is the reachable built page url of your project yslow.xml is the output results in junit formatContinuous YSlow!
  • 11. Jenkins and TAP (requires the TAP plugin) phantomjs /tmp/yslow.js -i grade --threshold B -f tap http://webpage > yslow.tap -i grade specifies that all rules will be tested --threshold B specifies the lowest acceptable score for all rules as well as the overall score -f tap specifies the output format http://webpage - is the reachable built page url of your project yslow.tap is the output results in junit formatContinuous YSlow!
  • 12. Insert Demo here!Show Me The Money!
  • 13. The value of web performance to consumer web sites to non-consumer web sitesDiscussion
  • 14. Future SeaWebPerf meetings What do we want to see? Who do we want to see? Who wants to help? No really, who will help?More Talk
  • 15. YSlow - http://yslow.org Yahoo! Exceptional Performance group - http://tech.groups.yahoo.com/group/exceptional-performance/ PhantomJS - http://phantomjs.orgReferences