WordPress prestanda      Jonas Lejon      2012-10-22
Jonas Lejon• Webb/utveckling sedan 1997  – BBS utveckling innan det (PPE till PCBoard)                                    ...
Innehåll• Gäller för dedikerad server/managerad       – Alternativt VPS• Ingen frontend       – Sprites       – JS-pack et...
Felsökning                                                    MySQL                   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 felJonas Lejon                ...
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       ...
Felsökning xdebug•    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       – Operat...
Webbservern• Dags och byta webbserver?       – Max öppna filer i Ubuntu• Apache + Varnish framför       – http://blog.doh....
SQL-server• Slå på loggning av långsamma frågor       – long_query_time=2       – log-slow-queries=/var/log/mysql/log-slow...
Opcode cache• 2-7 ggr bättre prestandaJonas Lejon                  [ 13 ]
Opcode cache• APC, eAccelerator eller Xcache• APC installation       – apt-get install php-apc       – Verifiera extension...
Memcache• Key/value fifo lagring i RAM       – Undvik diskcache• Installation       – apt-get install memcached       – Ök...
Testa innan• Apache Bench (ab)       – apt-get install apache2-utils       – $ ab –n 100 http://utvbloggen.se/• LoadImpact...
Övrigt• Stäng av/ta bort post-revisions       – define(WP_POST_REVISIONS, false);       – DELETE FROM wp_posts WHERE post_...
Vidare läsning• HyperDB• Flytta ut funktioner från servrar       – Memcache• http://codex.wordpress.org/High_Traffic_Tips_...
Fusklapp•    Felsök•    Släng ut Apache•    APC + Objekt cache med memcache•    BelastningstestaJonas Lejon               ...
Tack                       Frågor?                       Kontakt                     jonas@triop.se                       ...
Upcoming SlideShare
Loading in …5
×

#wpsthlm: WordPress prestanda - av Jonas Lejon

7,043 views

Published on

Jonas Lejons session om WordPress-prestanda, som hölls på WordCamp Stockholm den 22 oktober 2012.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
7,043
On SlideShare
0
From Embeds
0
Number of Embeds
2,821
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

#wpsthlm: WordPress prestanda - av Jonas Lejon

  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årsutryckningJonas Lejon [3]
  4. 4. Felsökning MySQL Hårdvara PHP Operativsystem WordPress Webbserver NätverkJonas Lejon [4]
  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 felJonas 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 – ProfilingJonas Lejon [8]
  9. 9. Felsökning xdebug• Link rel=”prev” i header• Fix: remove_action(”wp_head”, ”adjacent_posts_rel_link_wp_head”, 10, 0);Jonas Lejon [9]
  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 itJonas 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/WordPressJonas 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.plJonas Lejon [ 12 ]
  13. 13. Opcode cache• 2-7 ggr bättre prestandaJonas 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=256MJonas 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- contentsJonas Lejon [ 15 ]
  16. 16. Testa innan• Apache Bench (ab) – apt-get install apache2-utils – $ ab –n 100 http://utvbloggen.se/• LoadImpact.comJonas 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 cachningJonas 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• CloudflareJonas Lejon [ 18 ]
  19. 19. Fusklapp• Felsök• Släng ut Apache• APC + Objekt cache med memcache• BelastningstestaJonas Lejon [ 19 ]
  20. 20. Tack Frågor? Kontakt jonas@triop.se @jonaslJonas Lejon [ 20 ]

×