WooCommerce is a popular and powerful e-commerce platform, but it adds an advanced layer to your WordPress-powered website. Keeping the installation up to date requires more of you as the administrator than a blog or a basic website does. In this presentation, we give you practical tips and advice on how to build an online store that works well and will function over time.
The presentation is intended for those who have basic knowledge of WooCommerce and want to learn more about how to build an online store according to current recommendations. You don’t need to be an advanced developer to keep up with the examples we will go through.
WooCommerce is a popular and powerful e-commerce platform, but it adds an advanced layer to your WordPress-powered website. Keeping the installation up to date requires more of you as the administrator than a blog or a basic website does. In this presentation, we give you practical tips and advice on how to build an online store that works well and will function over time.
The presentation is intended for those who have basic knowledge of WooCommerce and want to learn more about how to build an online store according to current recommendations. You don’t need to be an advanced developer to keep up with the examples we will go through.
2. Bakgrund
• Bakgrund – varför titta på problemet ?
• Mer än 22 miljoner bloggar kör Wordpress
• Oändligt med plugins – kvaliteten varierar
• Wordpress ”kan allt”
• Många Wordpressbloggar har problem
• Varför har Wordpress prestandaproblem?
• Det är ju PHP... en request = en process
• Oändligt med plugins – kvaliteten varierar
• Wordpress ”kan allt”
3. Mäta prestanda med lasttest
• Prestanda för en användare !=
prestanda för många användare
4. Kort om WP-prestanda
• WP har OK databasindex per default – passar bra för mindre siter
• Många plugins som ändrar databasen beter sig ganska städat,
vettiga index osv.
• WP förbrukar dock en del minne. Ca 16 Mb 'out of the box'
• Många populära plugins ökar på minnesförbrukningen
aggressivt
• T.ex All-in-one-SEO,Post-Plugin Library och Similar Posts
lägger på ca 1Mb vardera
• WPML – lägger på massvis. Upp till 70 Mb per request
• I många av våra tester visar det sig att det är minnet som är den
trånga resursen i en Wordpressinstallation
6. Slut på minne (WPML)
• Funkar helt OK upp till ca 40 användare
• Vid 50 användare är minnet på servern slut
7. Hur förbättra prestanda?
Steg 1: Minimera resurser
• Databas
• Är inblandad i alla requests. Har den rätt
inställingar, tillräckligt med minne osv?
• Minne
• Trång resurs för många WP-installationer
• Lägg en memory_get_peak_usage() i din footer
• CPU
• Klassisk flaskhals. Dock troligen inte särskilt
vanlig orsak till dålig WP-prestanda.
8. Hur förbättra prestanda?
Steg 2: Cacha
• Cacha inte förrän du vet varför du har
prestandaproblem. Fixa inte en fuktskada med spackel
och färg...
• Fundera igenom potentiella nackdelar först
• Fungerar dina andra plugin?
• Det finns (minst) ett tiotal cache-plugin till Wp 2.9.1
• Hyper cache, W3 Total cache, WP Super cache,
WP Cache, WP Widget cache, DB cache, DB
cache reloaded, 1 Blog cacher.....
• Vi har testat 5st ordentligt
10. Hur fungerar W3TC?
• Gör allt rätt
• Komprimerar HTML med gzip
• Minifierar scrips och stylesheets
• Bakar ihop flera requests till en enda, t.ex för script
• Lägger bilder och annan media på CDN
• Kortsluter PHP-stacken
• Aggressiv cache som får Apache att serva HTML
utan att behöva dra igång PHP
• Cachar ”allt annat” på disk eller via memcached.
• Stödjer även opcode cachening via bl.a APC
11. Mer läsning
Om databasoptimering
• http://www.mysqlperformanceblog.com/
Om cachemoduler för Wordpress
• http://www.tutorial9.net/web-tutorials/wordpress-caching-whats-the-best-caching-plugin/
• http://loadimpact.com/blog/tag/wordpress
Om minne för Wordpress
• http://lildude.co.uk/wordpress-is-a-memory-hog
• http://wordpress.org/extend/plugins/tpc-memory-usage/
• http://webjawns.com/2009/08/eaccelerator-reduces-wordpress-memory-usage/
12. Verktyg för test och mätning
Ragnar Lönn, Load Impact <ragnar@loadimpact.com>
32. Extern sidanalys
Load Impact Page analyzer
http://loadimpact.com/pageanalyzer.php
• Emulerar en mängd
olika klienter
• Simulerar
begränsad bandbredd
• Endast från en
geografisk punkt
38. Lasttest
The Grinder
http://grinder.sourceforge.net/
39. Lasttest
The Grinder
http://grinder.sourceforge.net/
• Javabaserad
• Scriptas i Java eller Python (Jython)
• Inspelningsmöjligheter
• Enkelt API
• Aktiv användarbas
• Inget medföljande GUI för konfiguration eller
resultatvisning
41. Lasttest
OpenSTA
http://opensta.org/
• Windowsbaserad (MFC VC++ Win32),
CORBA
• Scriptas i eget scriptspråk (SCL)
• Inbyggt GUI för konfig/visualisering av
resultat
• Tidigare versioner har haft
stabilitetsproblem
47. Lasttest online
Browsermob
http://browsermob.com
• Inspelning med Firefox
& Selenium
• Lasttest med äkta eller
emulerade webläsare
• Stöder enbart Firefox
för inspelning/
uppspelning