SlideShare una empresa de Scribd logo
1 de 20
WordPress prestanda
Jonas Lejon
2012-10-22
Jonas Lejon
• Webb/utveckling sedan 1997
– BBS utveckling innan det (PPE till PCBoard)
[ 2 ]
Innehåll
• Gäller för dedikerad server/managerad
– Alternativt VPS
• Ingen frontend
– Sprites
– JS-pack etc
• Förlita dig ej på plugins
• Brandkårsutryckning
Jonas Lejon [ 3 ]
Felsökning
Jonas Lejon [ 4 ]
PHP
MySQL
WordPress
Operativsystem
Webbserver
Nätverk
Hårdvara
Felsökning
• Frontend eller backend?
• Vilken av sajterna?
Jonas Lejon [ 5 ]
Felsökning
• Vänta med uppgradering av hårdvara
– Att kasta mer pengar på problemet är fel
Jonas Lejon [ 6 ]
Felsökning
• Är det verkligen WordPress fel?
Jonas Lejon [ 7 ]
Felsökning
• Stäng av alla plugins
• strace php index.php
• php index.php
– Går snabbt? Någon annans fel
• Xdebug
– apt-get install php5-xdebug
– Profiling
Jonas Lejon [ 8 ]
Felsökning xdebug
Jonas Lejon [ 9 ]
• Link rel=”prev” i header
• Fix: remove_action(”wp_head”, ”adjacent_posts_rel_link_wp_head”, 10, 0);
Felsökning
• MySQL
– SHOW PROCESSLIST
• Titta på fältet “Time”
– EXPLAIN
• Loggfiler
– Operativsystem
– Webbserver/php-fpm
• [WARNING] [pool www] server reached max_children setting (50), consider raising it
Jonas Lejon [ 10 ]
Webbservern
• Dags och byta webbserver?
– Max öppna filer i Ubuntu
• Apache + Varnish framför
– http://blog.doh.ms/2012/10/15/slapping-some-varnish-on-wordpress/
• Nginx + php-fpm
– Öka pm.max_children
– listen = /tmp/php5-fpm.sock
– Se även http://wiki.nginx.org/WordPress
Jonas Lejon [ 11 ]
SQL-server
• Slå på loggning av långsamma frågor
– long_query_time=2
– log-slow-queries=/var/log/mysql/log-slow-
queries.log
• Mytop
• "MySQL server has gone away“
– Längre wait_timeout
– Max connections
• Mysqlturner.pl
Jonas Lejon [ 12 ]
Opcode cache
• 2-7 ggr bättre prestanda
Jonas Lejon [ 13 ]
Opcode cache
• APC, eAccelerator eller Xcache
• APC installation
– apt-get install php-apc
– Verifiera extension=apc.so i apc.ini
– apc.shm_size=256M
Jonas Lejon [ 14 ]
Memcache
• Key/value fifo lagring i RAM
– Undvik diskcache
• Installation
– apt-get install memcached
– Öka –m från 64mb standard I
/etc/memcached.conf
– apt-get install php5-memcache
– advanced-cache.php / object-cache.php till wp-
contents
Jonas Lejon [ 15 ]
Testa innan
• Apache Bench (ab)
– apt-get install apache2-utils
– $ ab –n 100 http://utvbloggen.se/
• LoadImpact.com
Jonas Lejon [ 16 ]
Övrigt
• Stäng av/ta bort post-revisions
– define('WP_POST_REVISIONS', false);
– DELETE FROM wp_posts WHERE post_type = "revision";
• MySQL OPTIMIZE TABLE
• http://www.mysqlperformanceblog.com/2006/05/17/mysql-server-memory-usage/
• Permalänkstruktur
• Följ upp all cachning
Jonas Lejon [ 17 ]
Vidare läsning
• HyperDB
• Flytta ut funktioner från servrar
– Memcache
• http://codex.wordpress.org/High_Traffic_Tips_For_WordPress
• Transients API
• HipHop
• CDN
• Cloudflare
Jonas Lejon [ 18 ]
Fusklapp
• Felsök
• Släng ut Apache
• APC + Objekt cache med memcache
• Belastningstesta
Jonas Lejon [ 19 ]
Tack
Frågor?
Kontakt
jonas@triop.se
@jonasl
Jonas Lejon [ 20 ]

Más contenido relacionado

Destacado

Jonas & Jonas om formuläranalys - Revrise
Jonas & Jonas om formuläranalys - RevriseJonas & Jonas om formuläranalys - Revrise
Jonas & Jonas om formuläranalys - RevriseImproove
 
Bk presentation 29.08
Bk presentation 29.08Bk presentation 29.08
Bk presentation 29.08Romani44
 
Lowe Bäckström om Concrete5
Lowe Bäckström om Concrete5Lowe Bäckström om Concrete5
Lowe Bäckström om Concrete5Improove
 
As media evaluation 2
As media evaluation 2As media evaluation 2
As media evaluation 2fatimasufi
 
Elementray college-algebra-free-pdf-download-olga-lednichenko-math-for-colleg...
Elementray college-algebra-free-pdf-download-olga-lednichenko-math-for-colleg...Elementray college-algebra-free-pdf-download-olga-lednichenko-math-for-colleg...
Elementray college-algebra-free-pdf-download-olga-lednichenko-math-for-colleg...Olga Lednichenko
 
Contents page analysis
Contents page analysisContents page analysis
Contents page analysisfatimasufi
 
How Big is Oracle OpenWorld
How Big is Oracle OpenWorldHow Big is Oracle OpenWorld
How Big is Oracle OpenWorldoracleindia
 
Wordpress utbildning
Wordpress utbildningWordpress utbildning
Wordpress utbildningLeif Kajrup
 

Destacado (8)

Jonas & Jonas om formuläranalys - Revrise
Jonas & Jonas om formuläranalys - RevriseJonas & Jonas om formuläranalys - Revrise
Jonas & Jonas om formuläranalys - Revrise
 
Bk presentation 29.08
Bk presentation 29.08Bk presentation 29.08
Bk presentation 29.08
 
Lowe Bäckström om Concrete5
Lowe Bäckström om Concrete5Lowe Bäckström om Concrete5
Lowe Bäckström om Concrete5
 
As media evaluation 2
As media evaluation 2As media evaluation 2
As media evaluation 2
 
Elementray college-algebra-free-pdf-download-olga-lednichenko-math-for-colleg...
Elementray college-algebra-free-pdf-download-olga-lednichenko-math-for-colleg...Elementray college-algebra-free-pdf-download-olga-lednichenko-math-for-colleg...
Elementray college-algebra-free-pdf-download-olga-lednichenko-math-for-colleg...
 
Contents page analysis
Contents page analysisContents page analysis
Contents page analysis
 
How Big is Oracle OpenWorld
How Big is Oracle OpenWorldHow Big is Oracle OpenWorld
How Big is Oracle OpenWorld
 
Wordpress utbildning
Wordpress utbildningWordpress utbildning
Wordpress utbildning
 

Similar a WordPress prestanda

Similar a WordPress prestanda (7)

Tobbe Eklöv
Tobbe EklövTobbe Eklöv
Tobbe Eklöv
 
Webboptimering 25 min
Webboptimering 25 minWebboptimering 25 min
Webboptimering 25 min
 
OPTIMERA STHLM! Loadimpact
OPTIMERA STHLM! LoadimpactOPTIMERA STHLM! Loadimpact
OPTIMERA STHLM! Loadimpact
 
Mindre och snabbare – Cache tips for WordPress developers
Mindre och snabbare – Cache tips for WordPress developersMindre och snabbare – Cache tips for WordPress developers
Mindre och snabbare – Cache tips for WordPress developers
 
Varje resa börjar med ett litet steg (internetdagarna 2011)
Varje resa börjar med ett litet steg (internetdagarna 2011)Varje resa börjar med ett litet steg (internetdagarna 2011)
Varje resa börjar med ett litet steg (internetdagarna 2011)
 
Cookies och Websockets
Cookies och WebsocketsCookies och Websockets
Cookies och Websockets
 
HT19 - DA354A - Webbprogrammering med bottle
HT19 - DA354A - Webbprogrammering med bottleHT19 - DA354A - Webbprogrammering med bottle
HT19 - DA354A - Webbprogrammering med bottle
 

Más de Jonas Lejon

Kryptobuggar 2017 12-01
Kryptobuggar 2017 12-01Kryptobuggar 2017 12-01
Kryptobuggar 2017 12-01Jonas Lejon
 
OWASP Top 10 webbsäkerhet
OWASP Top 10 webbsäkerhetOWASP Top 10 webbsäkerhet
OWASP Top 10 webbsäkerhetJonas Lejon
 
Framtidens cyberangrepp - Exfiltration, Bitcoin och zero-days
Framtidens cyberangrepp - Exfiltration, Bitcoin och zero-daysFramtidens cyberangrepp - Exfiltration, Bitcoin och zero-days
Framtidens cyberangrepp - Exfiltration, Bitcoin och zero-daysJonas Lejon
 
🚫 Exfiltration av data SUSEC 2016 Borås - Jonas Lejon 📡
🚫 Exfiltration av data SUSEC 2016 Borås - Jonas Lejon 📡🚫 Exfiltration av data SUSEC 2016 Borås - Jonas Lejon 📡
🚫 Exfiltration av data SUSEC 2016 Borås - Jonas Lejon 📡Jonas Lejon
 
Upptäcka intrång med hjälp av loggning
Upptäcka intrång med hjälp av loggningUpptäcka intrång med hjälp av loggning
Upptäcka intrång med hjälp av loggningJonas Lejon
 
Advanced Exfiltration Techniques
Advanced Exfiltration TechniquesAdvanced Exfiltration Techniques
Advanced Exfiltration TechniquesJonas Lejon
 
Exfiltration av data (information)
Exfiltration av data (information)Exfiltration av data (information)
Exfiltration av data (information)Jonas Lejon
 

Más de Jonas Lejon (8)

Kryptobuggar 2017 12-01
Kryptobuggar 2017 12-01Kryptobuggar 2017 12-01
Kryptobuggar 2017 12-01
 
OWASP Top 10 webbsäkerhet
OWASP Top 10 webbsäkerhetOWASP Top 10 webbsäkerhet
OWASP Top 10 webbsäkerhet
 
Framtidens cyberangrepp - Exfiltration, Bitcoin och zero-days
Framtidens cyberangrepp - Exfiltration, Bitcoin och zero-daysFramtidens cyberangrepp - Exfiltration, Bitcoin och zero-days
Framtidens cyberangrepp - Exfiltration, Bitcoin och zero-days
 
🚫 Exfiltration av data SUSEC 2016 Borås - Jonas Lejon 📡
🚫 Exfiltration av data SUSEC 2016 Borås - Jonas Lejon 📡🚫 Exfiltration av data SUSEC 2016 Borås - Jonas Lejon 📡
🚫 Exfiltration av data SUSEC 2016 Borås - Jonas Lejon 📡
 
Upptäcka intrång med hjälp av loggning
Upptäcka intrång med hjälp av loggningUpptäcka intrång med hjälp av loggning
Upptäcka intrång med hjälp av loggning
 
Advanced Exfiltration Techniques
Advanced Exfiltration TechniquesAdvanced Exfiltration Techniques
Advanced Exfiltration Techniques
 
Exfiltration av data (information)
Exfiltration av data (information)Exfiltration av data (information)
Exfiltration av data (information)
 
https
httpshttps
https
 

WordPress prestanda

  • 2. Jonas Lejon • Webb/utveckling sedan 1997 – BBS utveckling innan det (PPE till PCBoard) [ 2 ]
  • 3. Innehåll • Gäller för dedikerad server/managerad – Alternativt VPS • Ingen frontend – Sprites – JS-pack etc • Förlita dig ej på plugins • Brandkårsutryckning Jonas Lejon [ 3 ]
  • 4. Felsökning Jonas Lejon [ 4 ] PHP MySQL WordPress Operativsystem Webbserver Nätverk Hårdvara
  • 5. Felsökning • Frontend eller backend? • Vilken av sajterna? Jonas Lejon [ 5 ]
  • 6. Felsökning • Vänta med uppgradering av hårdvara – Att kasta mer pengar på problemet är fel Jonas Lejon [ 6 ]
  • 7. Felsökning • Är det verkligen WordPress fel? Jonas Lejon [ 7 ]
  • 8. Felsökning • Stäng av alla plugins • strace php index.php • php index.php – Går snabbt? Någon annans fel • Xdebug – apt-get install php5-xdebug – Profiling Jonas Lejon [ 8 ]
  • 9. Felsökning xdebug Jonas Lejon [ 9 ] • Link rel=”prev” i header • Fix: remove_action(”wp_head”, ”adjacent_posts_rel_link_wp_head”, 10, 0);
  • 10. Felsökning • MySQL – SHOW PROCESSLIST • Titta på fältet “Time” – EXPLAIN • Loggfiler – Operativsystem – Webbserver/php-fpm • [WARNING] [pool www] server reached max_children setting (50), consider raising it Jonas Lejon [ 10 ]
  • 11. Webbservern • Dags och byta webbserver? – Max öppna filer i Ubuntu • Apache + Varnish framför – http://blog.doh.ms/2012/10/15/slapping-some-varnish-on-wordpress/ • Nginx + php-fpm – Öka pm.max_children – listen = /tmp/php5-fpm.sock – Se även http://wiki.nginx.org/WordPress Jonas Lejon [ 11 ]
  • 12. SQL-server • Slå på loggning av långsamma frågor – long_query_time=2 – log-slow-queries=/var/log/mysql/log-slow- queries.log • Mytop • "MySQL server has gone away“ – Längre wait_timeout – Max connections • Mysqlturner.pl Jonas Lejon [ 12 ]
  • 13. Opcode cache • 2-7 ggr bättre prestanda Jonas Lejon [ 13 ]
  • 14. Opcode cache • APC, eAccelerator eller Xcache • APC installation – apt-get install php-apc – Verifiera extension=apc.so i apc.ini – apc.shm_size=256M Jonas Lejon [ 14 ]
  • 15. Memcache • Key/value fifo lagring i RAM – Undvik diskcache • Installation – apt-get install memcached – Öka –m från 64mb standard I /etc/memcached.conf – apt-get install php5-memcache – advanced-cache.php / object-cache.php till wp- contents Jonas Lejon [ 15 ]
  • 16. Testa innan • Apache Bench (ab) – apt-get install apache2-utils – $ ab –n 100 http://utvbloggen.se/ • LoadImpact.com Jonas Lejon [ 16 ]
  • 17. Övrigt • Stäng av/ta bort post-revisions – define('WP_POST_REVISIONS', false); – DELETE FROM wp_posts WHERE post_type = "revision"; • MySQL OPTIMIZE TABLE • http://www.mysqlperformanceblog.com/2006/05/17/mysql-server-memory-usage/ • Permalänkstruktur • Följ upp all cachning Jonas Lejon [ 17 ]
  • 18. Vidare läsning • HyperDB • Flytta ut funktioner från servrar – Memcache • http://codex.wordpress.org/High_Traffic_Tips_For_WordPress • Transients API • HipHop • CDN • Cloudflare Jonas Lejon [ 18 ]
  • 19. Fusklapp • Felsök • Släng ut Apache • APC + Objekt cache med memcache • Belastningstesta Jonas Lejon [ 19 ]