Seattle WebPerformance Group    Using Continuous Integration for               Performance Testing
•   Web Performance Best Practices•   YSlow•   Continuous Integration•   Discussion: Web Performance Internally•   Discuss...
• Steve Souders  • High Performance Web Sites    • 14 rules  • Even Faster Web Sites    • More Best Practices for Web 2.0 ...
• YSlow version 1  • Based in Firebug  • Firefox Plugin  • 13 rules, 12 testableEnter YSlow!
• YSlow version 2  • 34 rules, 23 testable  • Multiple ways to use it    •   Firefox    •   Opera    •   Chrome    •   Saf...
• Test, Test, Test  • Test in production     • Determine what to enhance & refine  • Test during development     • Make su...
• Using YSlow to prevent performance degradation  • Could use Command Line/NodeJS and HAR files    • Create the HttpArchiv...
• Build PhantomJS  • Pre 1.5 requires an xserver• Download the YSlow code  • It is obfuscated JavaSvript  • Source is avai...
• YSlow for PhantomJS supports multiple formats  •   JSON (default)  •   XML  •   Plain Text  •   JUnit  •   TAP• Can adju...
• Jenkins and JUnit         phantomjs /tmp/yslow.js -i grade --theshold “B” -f junit          http://webpage > yslow.xml  ...
• Jenkins and TAP (requires the TAP plugin)         phantomjs /tmp/yslow.js -i grade --threshold “B” -f tap          http:...
• Insert Demo here!Show Me The Money!
• The value of web performance  • to consumer web sites  • to non-consumer web sitesDiscussion
• Future SeaWebPerf meetings  •   What do we want to see?  •   Who do we want to see?  •   Who wants to help?  •   No real...
• YSlow  - http://yslow.org• Yahoo! Exceptional Performance group  - http://tech.groups.yahoo.com/group/exceptional-perfor...
Seawebperf 201207
Seawebperf 201207
Upcoming SlideShare
Loading in...5
×

Seawebperf 201207

1,158

Published on

The presentation given at the first Seattle Web Performance Meetup. Examples of continuous integration and YSlow to keep track of performance of your website as you update and add new features.

Published in: Technology, Design
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,158
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Seawebperf 201207

  1. 1. Seattle WebPerformance Group Using Continuous Integration for Performance Testing
  2. 2. • Web Performance Best Practices• YSlow• Continuous Integration• Discussion: Web Performance Internally• Discussion: What’s Next?Agenda
  3. 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. 4. • YSlow version 1 • Based in Firebug • Firefox Plugin • 13 rules, 12 testableEnter YSlow!
  5. 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. 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. 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. 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. 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. 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. 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. 12. • Insert Demo here!Show Me The Money!
  13. 13. • The value of web performance • to consumer web sites • to non-consumer web sitesDiscussion
  14. 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. 15. • YSlow - http://yslow.org• Yahoo! Exceptional Performance group - http://tech.groups.yahoo.com/group/exceptional-performance/• PhantomJS - http://phantomjs.orgReferences
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×