WordPress prestanda

622 views

Published on

Hur du får hög prestanda på din WordPress-installation utan massor av plugins

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
622
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
6
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

WordPress prestanda

  1. 1. WordPress prestanda Jonas Lejon 2012-10-22
  2. 2. Jonas Lejon • Webb/utveckling sedan 1997 – BBS utveckling innan det (PPE till PCBoard) [ 2 ]
  3. 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. 4. Felsökning Jonas Lejon [ 4 ] PHP MySQL WordPress Operativsystem Webbserver Nätverk Hårdvara
  5. 5. Felsökning • Frontend eller backend? • Vilken av sajterna? Jonas Lejon [ 5 ]
  6. 6. Felsökning • Vänta med uppgradering av hårdvara – Att kasta mer pengar på problemet är fel Jonas Lejon [ 6 ]
  7. 7. Felsökning • Är det verkligen WordPress fel? Jonas Lejon [ 7 ]
  8. 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. 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. 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. 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. 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. 13. Opcode cache • 2-7 ggr bättre prestanda Jonas Lejon [ 13 ]
  14. 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. 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. 16. Testa innan • Apache Bench (ab) – apt-get install apache2-utils – $ ab –n 100 http://utvbloggen.se/ • LoadImpact.com Jonas Lejon [ 16 ]
  17. 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. 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. 19. Fusklapp • Felsök • Släng ut Apache • APC + Objekt cache med memcache • Belastningstesta Jonas Lejon [ 19 ]
  20. 20. Tack Frågor? Kontakt jonas@triop.se @jonasl Jonas Lejon [ 20 ]

×