Your SlideShare is downloading. ×
Joomla Extreme Performance
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Joomla Extreme Performance

2,878
views

Published on

This is my deck from the Joomla Extreme Performance talk at Joomla!Day 2010 in NYC. Video to follow.

This is my deck from the Joomla Extreme Performance talk at Joomla!Day 2010 in NYC. Video to follow.

Published in: Technology

0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,878
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
8
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript

    • 1. Joomla! ExtremePerformanceMitch PirtleJoomla!Day New York CityDecember 4, 2010
    • 2. Before we beginCoffee?Breakfast?
    • 3. About this presentation Performance from all aspects How to estimate required needs Capacity planning and growth Group knowledge sharing, open discussion
    • 4. About me
    • 5. About meNothing but web since 1995
    • 6. About meNothing but web since 1995Joomla founder, MongoDB contributor
    • 7. About meNothing but web since 1995Joomla founder, MongoDB contributorCTO at Totsy.com
    • 8. About meNothing but web since 1995Joomla founder, MongoDB contributorCTO at Totsy.comComing Soon: MongoDB for Web Development
    • 9. About meNothing but web since 1995Joomla founder, MongoDB contributorCTO at Totsy.comComing Soon: MongoDB for Web DevelopmentComing Soon: Extreme Joomla! Performance
    • 10. About meNothing but web since 1995Joomla founder, MongoDB contributorCTO at Totsy.comComing Soon: MongoDB for Web DevelopmentComing Soon: Extreme Joomla! PerformanceHigh-traffic projects (Jetsetter, MTV, Food Networks)
    • 11. About meNothing but web since 1995Joomla founder, MongoDB contributorCTO at Totsy.comComing Soon: MongoDB for Web DevelopmentComing Soon: Extreme Joomla! PerformanceHigh-traffic projects (Jetsetter, MTV, Food Networks)Husband, dad, skate punk, metalcore bassist
    • 12. Big Joomla Sites I’ve Done
    • 13. Big Joomla Sites I’ve DoneQuizilla (Viacom/MTV Networks)Joomla framework, massive dataset and users
    • 14. Big Joomla Sites I’ve DoneQuizilla (Viacom/MTV Networks)Joomla framework, massive dataset and usersFood2 (Scripps Publishing/Food Network)Full CMS stack, tons of integration and rich media
    • 15. Big Joomla Sites I’ve DoneQuizilla (Viacom/MTV Networks)Joomla framework, massive dataset and usersFood2 (Scripps Publishing/Food Network)Full CMS stack, tons of integration and rich mediaJetsetter (Gilt Groupe)Full CMS stack, all custom extensions
    • 16. What is performance?
    • 17. Performance != Scale
    • 18. Performance:How fast can the page load?
    • 19. Performance:How fast can the page load?Scale:How many people can I throw at it?
    • 20. Aspects of Performance
    • 21. Aspects of PerformanceServer output
    • 22. Aspects of PerformanceServer outputNetwork throughput
    • 23. Aspects of PerformanceServer outputNetwork throughputBrowser footprint
    • 24. Aspects of Scale
    • 25. Aspects of ScaleServer output
    • 26. Aspects of ScaleServer outputNetwork throughput
    • 27. Aspects of ScaleServer outputNetwork throughputBrowser footprint
    • 28. Best Practice - Baseline
    • 29. Best Practice - Baseline Stock install on your systems
    • 30. Best Practice - Baseline Stock install on your systems Browser speed test
    • 31. Best Practice - Baseline Stock install on your systems Browser speed test Distributed load test
    • 32. Best Practice - Baseline Stock install on your systems Browser speed test Distributed load test Monitor server load throughout
    • 33. Fix: Server Output
    • 34. Fix: Server Output Choose extensions carefully, after testing performance baseline
    • 35. Fix: Server Output Choose extensions carefully, after testing performance baseline PHP opcode cacher - XCache, APC
    • 36. Fix: Server Output Choose extensions carefully, after testing performance baseline PHP opcode cacher - XCache, APC Tune MySQL - query cache
    • 37. Fix: Server Output Choose extensions carefully, after testing performance baseline PHP opcode cacher - XCache, APC Tune MySQL - query cache Tune webserver
    • 38. Fix: Network Throughput
    • 39. Fix: Network Throughputgzip text content - HTML, CSS and Javascript
    • 40. Fix: Network Throughputgzip text content - HTML, CSS and JavascriptContent Delivery Network (CDN)
    • 41. Fix: Network Throughputgzip text content - HTML, CSS and JavascriptContent Delivery Network (CDN)Minify CSS
    • 42. Fix: Browser Footprint
    • 43. Fix: Browser Footprint It all starts with the template!
    • 44. Fix: Browser Footprint It all starts with the template! Consolidate Javascript and CSS includes
    • 45. Fix: Browser Footprint It all starts with the template! Consolidate Javascript and CSS includes Limit number of Javascript frameworks
    • 46. Fix: Browser Footprint It all starts with the template! Consolidate Javascript and CSS includes Limit number of Javascript frameworks Remove inline styling, push to CSS
    • 47. Fix: Scaling Issues
    • 48. Fix: Scaling Issues Dedicated server Separate webserver from dataserver Multiple webservers/dataservers Multiple data centers
    • 49. What’s a Developer to do?
    • 50. Developer ChecklistYou’re using all the framework classes instead ofcrappy, homegrown code right?Are your extensions really using JCache properly?Are you running explain plans on your SQL statementsand checking for index and lock contention?You’re using MySQL’s slow query log, right?
    • 51. Distributed Systems IssuesHard to push code updatesHard to keep data consistentHard to debug issuesAdditional effort to developmentLimits options of existing extensions and services
    • 52. Tools
    • 53. Firebughttp://getfirebug.com/
    • 54. Yahoo! YSlowhttp://developer.yahoo.com/yslow/
    • 55. Seleniumhttp://seleniumhq.org/
    • 56. Services
    • 57. Scouthttps://scoutapp.com/
    • 58. New Relichttp://www.newrelic.com/
    • 59. Neustarhttp://www.neustar.biz/
    • 60. Reference Materials
    • 61. MySQL Performance Bloghttp://www.mysqlperformanceblog.com/
    • 62. Time for my favorite gameStump the Nerd™
    • 63. Thanks!Email: spacemonkey@mongodb.orgTwitter: @mitchitizedWeb: http://www.spacemonkeylabs.comSlides: http://www.slideshare.net/spacemonkeylabs