Feb 03

Acelerar y optimizar la velocidad de Magento

Tag: MagentoJordi Oller @ 23:53

Es casi el quebradero de cabeza principal de toda tienda desarrollada con Magento, su velocidad de carga y navegación.  Os dejo con 7 pasos para acelerar vuestros Magento considerablemente:

1)  Instalar Fooman Speedster 

Comprime JS y CSS en tu tienda, diferencia notable de velocidad.  FREE

http://www.magentocommerce.com/extension/457/fooman-speedster 

  

2) Activar Gzip Compression en .htaccess 

Descomentar (quitar el #) en el .htacess: (Linea 52) la siguiente regla: 

#php_flag zlib.output_compression on 

3) Instalar APC or Xcache

APC – http://pecl.php.net/package/APC
Xcache – http://xcache.lighttpd.net/

Se tiene que instalar a nivel de servidor (Tu sysdamin en tu dedicado, o preguntar directamente al hosting) 

 Una vez instalado debemos localizar el local.xml normalmente en /home/yoursitename/public_html/app/etc/local.xml 

Y añadir justo debajo: 

<global> 

Activando el APC caché, se ha comprobado que su velocidad asciende a menos de la mitad del tiempo de carga. 

<cache>
<backend>apc</backend>
<prefix>alphanumeric</prefix>
</cache> 

Una vez instalado el APC, haría falta modificar el APC.shm.size a 128 esto permitirá almacenar muchos más datos en la cache. 

Aqui algunas pruebas de carga con el APC activado: 

http://talks.php.net/show/phpbcn/12  

Un comparativa de carga entre la pagina 11 y la 12. 

4) “Asegurarse que en tu apache tienes el KeepAlives activado. 

Es un truco que permite a través de una simple conexión TPC servir multiples peticiones HTTP. Esto reduce el tiempo de descarga de los diferentes ficheros (HTML, JavaScript, images) for a website.” 

Este paso igual que el anterior se ha de hacer a través del hosting o con vuestro sysadmin. 

5) ”Modificar la configuración de tu servidor MySQL para sacarle partido a la RAM de tu máquina. La mayoría de distribuciones linux son conservativas en cuanto al uso del Hardware. Most. Un ejemplo de my.cnf seria el siguiente: 

key_buffer = 512M
max_allowed_packet = 64M
table_cache = 512
sort_buffer_size = 4m
read_buffer_size = 4m
read_rnd_buffer_size = 2m
myisam_sort_buffer_size = 64m
tmp_table_size = 128m
query_cache_size = 96m
query_cache_type = 1
thread_cache_size = 8
max_connections = 400
wait_timeout = 300 

De nuevo solicitar estos cambios a tu host o al sysadmin correspondiente. 

6) “Usar más la memória para ficheros temporales que el disco duro para el directorio var de Magento. Magento abusa del disco duro de nuestras maquinas para albergar la cache y sesiones y todos sabemos que la parte más lenta de una maquina es el IO de nuestro disco duro. Por lo que sería conveniente albergar todo ese contenido en memoria en vez de en disco” 

Ejemplo: 

/var/www/domain.com/var/cache/  y 
/var/www/domain.com/var/session/ 

Para cache podnríamos un  max de 256MB RAM y para sessions 64MB RAM de la siguiente forma: 

mount -t tmpfs -o size=256M,mode=0744 tmpfs /var/www/domain.com/var/cache/
mount -t tmpfs -o size=64M,mode=0744 tmpfs /var/www/domain.com/var/session/ 

Esta configuración se perderá cada vez que reinicias por lo que tendremos que insertar estas dos lineas en /etc/fstab: 

tmpfs /var/www/domain.com/var/cache/ tmpfs size=256,mode=0744 0 0
tmpfs /var/www/domain.com/var/session/ tmpfs size=64,mode=0744 0 0 

7) Deshabilitar el open_basedir del vhost.conf de nuestro servidor.  Se dice que mejora la velocidad, aunque yo no lo he percibido. 

Espero que os haya sido de ayuda. 

Parcialmente extraído y traducido de BlastedThing.

** Y finalmente os dejo un ejemplo para que veais que Magento tb puede volar: Dikido



Han comentado10 Comentarios en “Acelerar y optimizar la velocidad de Magento”

  1. Señor Muñoz ha comentado:

    Gracias!

  2. Cristopher ha comentado:

    Hola Jordi,

    Me estoy planteando implantar magento para un nuevo proyecto, pero realmente me da un poco de respecto este rendimiento tan bajo. Para que carga de visitas recomendarias magento o no? para que no sea una cosa insufrible navegar por la tienda!!
    Crees que en un hosting compartido puede funcionar?

    Recomiendas algun servidor? Veo que aquí en España esta un poco verde esta aplicativo en los hostings?

    Muchas gracias de antemano

  3. Sex Shop ha comentado:

    Critopher

    Mejor siempre un servidor, pero puedes empezar por un hosting y cuando tengas un volumen de visitas considerable, pasarte a un servidor dedicado. Creo que magneto supera bien las visitas.

    Un Saludo

  4. ciriglezglez ha comentado:

    Hola.
    En mi hosting tienen instalado xcache. ¿Las lineas que hay que añadir en local.xml son las mismas que las que hay que añadir en con apc?

  5. Sex shop Mimundosexy ha comentado:

    Nosotros lo probamos pero en un hosting dedicado anda muy lento, mejor pasarlo a un dedicado y bien optimizado si no es un elefante de pesado, por lo menos es mi humilde experiencia.

  6. kaffeinepapelpintado ha comentado:

    Cristopher: nosotros trabajamos sobre un servidor 1&1 virtual cloud.Es dedicao y de muy fácil configuración. Actualmente tenemos 4Gb de Ram y 1 solo procesador. POr el momento va bien, aunque el servicio de 1&1 deja que desear…
    Espero que te sriva la aportación.
    Un saludo a todos y gracias a Jordi por su magnífico Blog.

  7. Andreina ha comentado:

    esto seria lo mismo para un megento que esta en xampp osea lo haria mas rapido

  8. Alfredo ha comentado:

    Nosotros tenemos configurado todo en un VPS en VERKIA (estos son Españoles) con más de 5000 productos y después de todas las optimizaciones la cosa va muy bien, el VPS hay que pedirselo para que te lo configuren.

  9. carlos parra ha comentado:

    hola gracias:

    mi nonbre es carlos parra
    y por favor agradezco una cotización de servicios de soporte y adecuaciones para una tienda basada en prestashop.

    puesto que mis conocimientos en el area son pocos y la verdad prefiero contratar personal calificado para ello puesto que mas adelante se integraran 4 tiendas mas de diferentes nichos de mercado.

    entonces la posibilidad de nueva contratacion es latente y se deriva de su calidad de servicio, tiempo de respuesta, soporte y precios competitivos.

    somos una tienda fisica con deseos de expansion.

    una de las formas de dar gracias ha ustedes por sus servicios sera publicidad en redes y en las paginas de la compañia.

    nuestro proyecto web http://tattoonshop.com/ag/

    el trabajo ha realizar en la pagina sera:

    1: intregracion de metodo de pago pay pall en la tienda y pago con tarjetas

    2 : optimizacion de tiempos de carga de la tienda puesto que esta se demora en cargar y asi los clientes se pierden.

    3 : configuracion de bloque de mi cuenta puesto que al poner por ejemplo
    mi codigo postal que 11001000 este me da un error

    4. instalacion de menchache y los modulos que hagan falta .

    5. evaluacion general de el funcionamiento de la tienda y consejos asi como tips para mejorar el rendimiento de esta

    por su tiempo y pronta respuesta muchas gracias

    quedamos atentos

  10. Ramon ha comentado:

    Hola, recientemente hemos creado el sitio http://www.cmcimport.com para una empresa en Asia, estoy intentando optimizar al máximo pero creo que no estoy sacando todo el rendimiento posible a la plataforma.
    Los unicos puntos que por miedo no he seguido han sido el 6 y el 7, podrían decirme por favor si son realmente importantes para acelerar el sitio?
    Un saludo y gracias.

Escribir comentarioDejar un comentario

Si quieres tener imagen en tus comentarios usa gravatar!