Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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,435 views

Published on

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

  • Be the first to comment

#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 ]

×