Your SlideShare is downloading. ×
0
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
Performance Tuning - MuraCon 2012
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

Performance Tuning - MuraCon 2012

983

Published on

A quick list of items to check for when Mura is running slow

A quick list of items to check for when Mura is running slow

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
983
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
32
Comments
0
Likes
1
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
  • \n
  • \n
  • Transcript

    • 1. By blueRiver
    • 2. Mura CMSPerformance Tuning
    • 3. AgendaServer Tuning
    • 4. AgendaServer Tuning Web Server
    • 5. AgendaServer Tuning Web Server Static Assets
    • 6. AgendaServer Tuning Web Server Static Assets JVM Settings
    • 7. AgendaMura Tuning
    • 8. AgendaMura Tuning Admin Settings
    • 9. AgendaMura Tuning Admin Settings Custom Caching
    • 10. AgendaMura Tuning Admin Settings Custom Caching Code Examples
    • 11. AgendaServer Tuning We’ll take a look at a few common areas that often need tuning
    • 12. AgendaServer Tuning We’ll take a look at a few common areas that often need tuning Web Server
    • 13. AgendaServer Tuning We’ll take a look at a few common areas that often need tuning Web Server JVM settings
    • 14. AgendaServer Tuning We’ll take a look at a few common areas that often need tuning Web Server JVM settings DB
    • 15. Web ServerCheck the following1. Is the web server configured according to load?
    • 16. Web ServerMinimal Apache ConfigStartServers 1MinSpareServers 1MaxSpareServers 3MaxClients 50MaxRequestsPerChild 4000
    • 17. Web ServerHeavy Load Apache ConfigStartServers 18MinSpareServers 20MaxSpareServers 55MaxClients 600MaxRequestsPerChild 4000
    • 18. Web ServerCheck the following1. Is the web server configured according to load?2. Are static assets being gzipped?
    • 19. Web ServerMOD_DEFLATE EXAMPLELoadModule deflate_module libexec/apache2/mod_deflate.so<IfModule mod_deflate.c> # html, xml, css, and js: AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript</IfModule>
    • 20. Web ServerCheck the following1. Is the web server configured according to load?2. Are static assets being gzipped?3. Are far future expires headers set?
    • 21. Web ServerMOD_EXPIRES EXAMPLELoadModule deflate_module libexec/apache2/mod_deflate.so<IfModule mod_expires.c> Header set cache-control: public ExpiresActive on # set default ExpiresDefault "access plus 24 hours" ExpiresByType image/jpg "access plus 1 month" ExpiresByType image/gif "access plus 1 month" ExpiresByType image/png "access plus 1 month" ExpiresByType text/css "access plus 1 month" ExpiresByType text/javascript "access plus 1 month" ExpiresByType text/html "now"</IfModule>
    • 22. Static AssetsGet the assets to the browser as fast as possible1. Minify your JS and CSS
    • 23. Static AssetsGet the assets to the browser as fast as possible1. Minify your JS and CSS2. Combine as much JS into one file. Same goes for CSS
    • 24. Static AssetsGet the assets to the browser as fast as possible1. Minify your JS and CSS2. Combine as much JS into one file. Same goes for CSS3. Load as much JS near the end of the HTML file
    • 25. Static AssetsGet the assets to the browser as fast as possible1. Minify your JS and CSS2. Combine as much JS into one file. Same goes for CSS3. Load as much JS near the end of the HTML fileBy doing this, the site will ‘feel’ much faster.
    • 26. JVM TuningImportant settings-Xms384m -Xmx512m-XX:MaxPermSize=256m-XX:+UseParallelGCIf possible, use Java 1.6
    • 27. JVM TuningMinimum / Maximum Heap Size-Xms384m -Xmx512mFor best performance, always make sure the maximum isset to 512m or greater. If your server has the free ramavailable, this is a great way to increase performance.
    • 28. JVM TuningMaximum Permanent Heap Size-XX:MaxPermSize=256mXX:MaxPermSize specifies the the maximum size for thepermanent generation heap, a heap that holds objectssuch as classes and methods.
    • 29. JVM TuningGarbage Collection-XX:+UseParallelGCThis tells the JVM to use a multi-threaded approach togarbage collection.
    • 30. DatabaseImportant settingsquery_cache_size = 32Mquery_cache_type = 1
    • 31. Mura TuningNow lets take a look at what we can tune in Mura
    • 32. Mura TuningNow lets take a look at what we can tune in Mura First up, settings you can change in the admin
    • 33. Mura TuningNow lets take a look at what we can tune in Mura First up, settings you can change in the admin On deck, what we can do with code to reduce the server workload
    • 34. Admin SettingsThere are a few key settings in the Mura admin to look for Site Caching Session Tracking Restrict Access
    • 35. Admin SettingsSite Caching Enable caching on production Mura instances Reduces the workload on the DB and CFML engine Cache Capacity Sets a hard limit on how many cached items Cache Free Memory Threshold Keeps a specified % free for other proccesses
    • 36. Admin SettingsSession Tracking Can cause a huge strain on the database Consider using Google Analytics When performance is critical, consider disabling session tracking
    • 37. Admin SettingsRestrict Access Be strategic about how content is restricted Restricting a section is far more effective Mura must calculate the permissions for each page request
    • 38. CodeCommon performance impacting aspects of Mura Primary Navigation CacheOMatic tag CfStatic ShowTrace Feed sorting / limits
    • 39. CodePrimary Navigation Set viewDepth to 1 at most Use the CacheOMatic tag to eliminate server load
    • 40. CodeCacheOMatic tag Use the CacheOMatic tag when possible Navigation is a great use case Database output - lists, tables Ability to set a timespan to keep output fresh Ability to set a unique key - useful for mobile, users
    • 41. CodeCacheOMatic tag <cf_CacheOMatic key=”UNIQUE_KEY” nocache=”1|0” timespan=”#createTimeSpan()#”> #Cache_Me_Please# </cf_CacheOMatic>
    • 42. CodeCfStatic Minifies your CSS and JavaScript Files are saved to disk, so the performance hit is minimal
    • 43. CodeCfStatic - CSS #$.static() ! .include("/css/core/") ! .include("/css/print/") ! .include("/css/ie/lte7/") ! .renderIncludes("css")#
    • 44. CodeCfStatic - JS #$.static() ! .include("/js/ie/lte7/roundies/") ! .renderIncludes("js")#
    • 45. CodeShowTrace Shows you what’s going on under the hood of Mura Helpful to debug production instances, where enabling server debugging is problematic Mura adds tracepoints to custom events to help debug slow code
    • 46. CodeCustom feed sorting / limits If possible limit the rows returned Try not to sort by extended attributes If you can’t avoid, then make sure the feed is very targeted -- limit work for the DB
    • 47. Hands onWhat’s next?
    • 48. Hands onWhat’s next?Fixing a slow site, in action We’ll go over a few common performance killers in Mura
    • 49. Hands onAction Items: 1) Turn on site caching
    • 50. Hands onAction Items: 1) Turn on site caching 2) Check Primary Nav
    • 51. Hands onAction Items: 1) Turn on site caching 2) Check Primary Nav 3) Implement CfStatic
    • 52. Hands onAction Items: 1) Turn on site caching 2) Check Primary Nav 3) Implement CfStatic 4) Add CacheOMatic tag
    • 53. Hands onAction Items: 1) Turn on site caching 2) Check Primary Nav 3) Implement CfStatic 4) Add CacheOMatic tag 5) Run ShowTrace=true
    • 54. Hands onThat’s it! Now we’ve got a lean mean Mura machine.
    • 55. Many ThanksI hope this presentation was helpful! Questions? Comments?
    • 56. Say HiEddie Ballisty eddie.ballisty@blueriver.com

    ×