• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
604
On Slideshare
0
From Embeds
0
Number of Embeds
4

Actions

Shares
Downloads
16
Comments
1
Likes
3

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

Transcript

  • 1. HOW TO SPEED UP YOUR JOOMLA SITE? Daniel Kanchev
 Performance Guru
  • 2. Before We Begin – Who’s That Guy Daniel? ✓ 7+ years of Joomla! experience ✓ 5 years with SiteGround ✓ Love travelling the world ✓ Addicted to extreme sports
  • 3. ✓ Site speed affects your Google Rankings! ✓ Keep readers/customers happy & paying ✓ Be able to handle more visitors ✓ Go green and save $$$ from servers WHY BOTHER DOING IT?
  • 4. Faster Joomla = Optimizations ! ! KEEP CALMIT’S NOT ROCKET SCIENCE
  • 5. ✓ Keep your Joomla! updated ✓ Choose extensions wisely ✓ Deactivate unused extensions, upgrade used ✓ Simplify your templates as much as possible GENERAL GUIDELINES
  • 6. Simple Front Page Is Better ✓ Fancy stuff – only if you really need it ✓ Remove unnecessary large images ✓ Use fewer internal/external links – add sitemap ✓ Avoid loading content from remote servers
  • 7. APPLICATION LEVEL OPTIMIZATIONS
  • 8. Enable Compression ✓ Natively supported by Joomla! – no extensions needed ✓ Requires mod_gzip/deflate to be enabled on the server *** Site Global Configuration Server
  • 9. Enable Joomla! Cache ✓ Enable the “System – Cache” plugin
  • 10. Recommended Cache Settings Site Global Configuration System Cache Settings
  • 11. Some .htaccess Magic ✓ Get the code:
 http://goo.gl/ze09B ✓ How it works:
 - Etag – Tells browsers that an image/unit does not need to be reloaded
 - Expires Headers – Set different expiration dates for various file types
 - AddOutputFilterByType DEFLATE – minifies the compiled HTML source code
  • 12. Some .htaccess Magic ✓ The code: FileETag MTime Size 
 AddOutputFilterByType DEFLATE text/html text/css application/javascript
 ExpiresActive On
 ExpiresDefault "now plus 1 hour" 
 ExpiresByType text/css "now plus 1 week“
 ExpiresByType application/javascript "now plus 1 week" 
 ExpiresByType application/x-javascript "now plus 1 week”
  • 13. More Optimizations: Images, CSS & JS ✓ Resize images – never upload 2560x1600 pictures ✓ Smush your images ✓ Minify and combine CSS and JS files ✓ Use image sprites
  • 14. Sounds Nice, How Do I Begin? ✓ Use smush.it ✓ Photoshop/Fireworks ✓ Joomla! Extensions
  • 15. Some Highly Rated Extensions ✓ JCH Optimize – Combines JS and CSS, Combines images in sprites, Minify and Compress ✓ Jbetolo – same as above but + CDN support ✓ JotCache – improves the Joomla! built in Core Cache ✓ Cache Cleaner – easily clean the cache from the Joomla! admin panel
  • 16. JCH Optimize ✓ Enable the “System – JCH Optimize” plugin
  • 17. JCH Optimize Settings
  • 18. Google mod_pagespeed ✓ An open-source Apache module - compress, combine and cache ✓ Needs to be installed/configured by a System Administrator ✓ Available on SiteGround servers *
  • 19. Check How’s Your Website Doing ✓ Google Page Speed Insights - http://goo.gl/zPkxx ✓ YSlow - http://goo.gl/qIios ✓ GTmetrix - http://gtmetrix.com/
  • 20. Some Results – Default Joomla! No Optimizations Cache/ Compression .htaccess rules JCH Page Load Time 1.61s 1.49s 1.32s 1.02s Total Page Size 563KB 162KB 162KB 151KB Number of Requests 35 35 35 19 Page Speed Grade F (41%) B (65%) B (87%) A (91%) YSlow Grade C (70%) B (66%) B (86%) A (92%)
  • 21. SERVER LEVEL OPTIMIZATIONS
  • 22. Use CDN ! YOUR VISITORS LOCATION MATTERS!
  • 23. CDN Features ✓ CDN will make your website faster ✓ CDN will help avoid unneeded I/O on your hard drives ✓ CDN will appeal to both Google and your visitors
  • 24. Software Tweaks ✓ Use fast and secure PHP like FastCGI ✓ Move PHP binaries to RAM ✓ Move TMP to RAM ✓ Move MySQL to a separate hard drive: RAID & SSD ✓ Enable MySQL query cache ✓ Use TMPFS for MySQL’s tmpdir
  • 25. Opcode/Object Caching ✓ FastCGI + APC PHP extension ✓ Memcached and PHP/MySQL ✓ eAccelerator 
  • 26. Joomla Interaction with Your Database ✓ First request goes to the database server
 

  • 27. Object Caching ✓ First request goes to the database server
 ✓ Objects are also stored in Memcached
  • 28. Object Caching ✓ All consecutive requests are forwarded to the Memcached server
  • 29. How PHP works ! Scanning ! Lexing ! Parsing ! Compilation ! Opcode ! Execution
  • 30. ! Opcode ! Execution PHP Opcode Caching
  • 31. Reverse Proxy Servers
  • 32. Reverse Proxy Servers
  • 33. Reverse Proxy Servers
  • 34. Reverse Proxy Servers
  • 35. ✓ Custom PHP/MySQL configuration ✓ Memcached/PHP APC ✓ Joomla! friendly reverse proxy setup Our Own Solution: The SUPERCACHER
  • 36. Final Results: Joomla + VirtueMart No Optimizations Application Level Optimizations Server Level Optimizations Page Load Time 5.22s 3.49s 1.09s Total Page Size 1.89MB 0.67MB 0.67MB Number of Requests 76 28 28 Page Speed Grade F (41%) B (85%) A (92%) YSlow Grade C (70%) B (84%) A (94%)
  • 37. Some Key Takes ✓ Speed optimization is a process – do it regularly ✓ Always test! ✓ Choose a well optimized host
  • 38. QUESTIONS TIME ?
  • 39. THANK YOU! Daniel Kanchev
 daniel.k@siteground.com