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.

Presentación Congreso Internet del Mediterráneo

1,741 views

Published on

15 Consejos de optimización para soportar el máximo tráfico posible con WordPress

Published in: Technology
  • Be the first to comment

Presentación Congreso Internet del Mediterráneo

  1. 1. Congreso Internet del Mediterráneo 15 consejos de optimización 24/9/2010 #cinterprog
  2. 2. 15 Consejos de Optimización para soportar máximo tráfico con mínima infraestructura usando WordPress como CMS
  3. 3. Consejos de Optimización <ul><li>1ª Parte -> Servidor (Configuración server)
  4. 4. 2ª Parte -> WordPress (Configuración y plugins)
  5. 5. 3ª Parte -> Cliente (Navegador) </li></ul>
  6. 6. Servidor Consejo 0: Instalar servidor LAMP y WP :-) <ul><ul><li>Amazon Web Services: EC2 instancia micro </li><ul><li>613 Mb RAM
  7. 7. 0.025 $ / hora
  8. 8. Servidor 18 $ / mes
  9. 9. Transferencia: 100 Gb * 0,15 $ = 15 $ / mes </li></ul></ul></ul>
  10. 10. Servidor Consejo 0 : Instalar servidor LAMP y WP :-) <ul><ul><li>Instalar L: Ami Linux Fedora Core 8 64 Bits
  11. 11. Instalar AMP: </li></ul></ul>yum install httpd php php-gd php-mysql phpmyadmin php-mcrypt mysql mysql-server
  12. 12. Servidor Consejo 0 : Instalar servidor LAMP y WP :-) <ul><ul><li>Instalar WordPress </li></ul></ul><VirtualHost *:80> ServerAdmin sistemas@blogestudio.com DocumentRoot /var/webs/www.4wp.sh ServerName www.4wp.sh ServerAlias 4wp.sh *.4wp.sh ErrorLog logs/www.4wp.sh-error.log CustomLog logs/www.4wp.sh-access.log combined <Directory &quot;/var/webs/www.4wp.sh&quot;> AllowOverride All Order allow,deny Allow from all </Directory> </VirtualHost>
  13. 13. Servidor Consejo 0 : Probar y medir cambios ab -c5 -t30 http://www.4wp.sh/2010/09/
  14. 14. Servidor Consejo 1 : Apache MaxClients <ul><ul><li>Limitar en función del consumo de RAM de los procesos php: </li></ul></ul>ps -ylC httpd --sort:rss <ul><ul><li>Valor = RAM disponible / consumo ram medio por proceso </li></ul></ul>
  15. 15. Servidor Consejo 2 : Apache KeepAlive <ul><ul><li>Con RAM disponible: ON y timeout bajo (2 s) </li></ul></ul><ul><ul><li>Sin RAM disponible: Off </li></ul></ul>
  16. 16. Servidor Consejo 3 : MySQL Query Cache query_cache_type = 1 query_cache_size = 16M query_cache_limit = 1M
  17. 17. Servidor Consejo 4 : Otros parámetros MySQL importantes key_buffer = 16M sort_buffer_size = 4M read_buffer_size = 4M thread_stack = 128K table_cache = 128 thread_cache = 256 thread_concurrency = 4 myisam_sort_buffer_size = 1M tmp_table_size = 12M max_heap_table_size = 12M
  18. 18. Servidor Consejo 5 : Instalar PHP Opcode Cache <ul><ul><li>Instalar php-eaccelerator: </li></ul></ul>yum install php-eaccelerator <ul><ul><li>Valores por defecto (32 Mb RAM) </li></ul></ul>
  19. 19. WordPress Consejo 6 : Activar cache Queries y objetos <ul><ul><li>wp-config.php </li></ul></ul>define(ENABLE_CACHE, true);
  20. 20. WordPress Consejo 7 : Tema (plantilla) Optimizada <ul><ul><li>Sin demasiados widgets ni consultas a base de datos innecesarias.
  21. 21. Mejor realizar llamadas externas (para el servidor, no para el usuario)
  22. 22. 20 temas minimalistas: http :// sixrevisions.com / wordpress /20- beautiful - minimalist - wordpress - themes / </li></ul></ul>
  23. 23. WordPress Consejo 8 : Plugins <ul><ul><li>As low as possible
  24. 24. Desactiva los que no uses
  25. 25. Elimina plugins inactivos
  26. 26. Usa las últimas versiones (actualización + fácil) </li></ul></ul>
  27. 27. WordPress Consejo 9 : Usa plugin cache salida html <ul><ul><li>HyperCache http :// wordpress.org / extend / plugins / hyper - cache /
  28. 28. WP-SuperCache http :// wordpress.org / extend / plugins / wp - super - cache /
  29. 29. W3 Total Cache http://wordpress.org/extend/plugins/w3-total-cache/ </li></ul></ul>
  30. 30. WordPress Consejo 10 : WP-SuperCache (en modo HTML) <ul><ul><li>Muy sencillo, muy probado, estable
  31. 31. Modo PHP
  32. 32. Modo HTML (mod_rewrite) </li></ul></ul>
  33. 33. Cliente Consejo 11 : Optimizar el lado cliente es importante <ul><ul><li>Con pocos consejos se obtiene mayor velocidad
  34. 34. Una mejor experiencia de usuario
  35. 35. Consejos básicos: </li><ul><li>Optimización de imágenes, con poco peso.
  36. 36. Pocas solicitudes http: CSS, JS, etc.
  37. 37. Pocas llamadas externas, etc. </li></ul></ul></ul>
  38. 38. Cliente Consejo 12 : Sigue los consejos de la gente que sabe <ul><ul><li>Google 25 Web Performance Best Practices http://code.google.com/intl/es-ES/speed/page-speed/docs/rules_intro.html
  39. 39. 35 Best Practices from Yahoo Exceptional Performance Team http://developer.yahoo.com/performance/rules.html </li></ul></ul>
  40. 40. Cliente Consejo 13 : Prueba, mide y sigue optimizando <ul><ul><li>Firefox: http://www.firefox.com
  41. 41. Firebug: https://addons.mozilla.org/es-es/firefox/addon/1843/
  42. 42. Google Page Speed: http://code.google.com/intl/es-ES/speed/page-speed/
  43. 43. Yahoo YSlow: http://developer.yahoo.com/yslow/
  44. 44. Web Developer Firefox Extension https://addons.mozilla.org/es-ES/firefox/addon/60/ </li></ul></ul>
  45. 45. Cliente Consejo 14 : Comprime la respuesta enviada. Fichero .htaccess <ifmodule mod_deflate.c> AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css text/x-js application/x-javascript application/javascript BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4.0[678] no-gzip BrowserMatch MSIE !no-gzip !gzip-only-text/html </ifmodule>
  46. 46. Cliente Consejo 15 : Cache en el navegador 15.1 Con mod_expires en .htaccess (2678400s = 31 días) <ifmodule mod_expires.c>    ExpiresActive On    ExpiresDefault &quot;access plus 1 seconds&quot;    ExpiresByType text/html &quot;access plus 7200 seconds&quot;    ExpiresByType image/gif &quot;access plus 2678400 seconds&quot;    ExpiresByType image/jpeg &quot;access plus 2678400 seconds&quot;    ExpiresByType image/png &quot;access plus 2678400 seconds&quot;    ExpiresByType text/css &quot;access plus 518400 seconds&quot;    ExpiresByType text/javascript &quot;access plus 2678400 seconds&quot;    ExpiresByType application/x-javascript &quot;access plus 2678400 seconds&quot; </ifmodule> FileETag none
  47. 47. Cliente Consejo 15 : Cache en el navegador 15.2 Con mod_headers en .htaccess <ifmodule mod_headers.c>    <filesmatch &quot;.(ico|flv|jpg|jpeg|png|gif|css|swf)$&quot;>    Header set Cache-Control &quot;max-age=2678400, public&quot;    </filesmatch>    <filesmatch &quot;.(pdf)$&quot;>    Header set Cache-Control &quot;max-age=86400, public&quot;    </filesmatch>    <filesmatch &quot;.(js)$&quot;>    Header set Cache-Control &quot;max-age=2678400, private&quot;    </filesmatch> </ifmodule>
  48. 48. ¡Gracias! Y para más consejos: Fernando Serer [email_address] twitter.com/fserer www.blogestudio.com

×