Optimizar Magento

Uno de los inconvenientes de Magento es actualmente su velocidad si se utiliza la configuración por defecto. Hay ciertas maneras de hacerlo correr más rápido. La mejor es habilitar la compresión GZip cambiando el .Htaccess sólo un poco. Sólo tienes que descomentar parte del código. En mi caso, el aumento de la velocidad era exactamente 235%. ¡Vamos a empezar a acelerar Magento!

Buscar las siguientes líneas en el archivo htaccess de Magento. Y reemplazarlos por el siguiente código:

############################################
# enable resulting html compression

php_flag zlib.output_compression on

y también buscas y reemplazas estas:

#http://developer.yahoo.com/performance/rules.html#gzip

# Insert filter on all content
SetOutputFilter DEFLATE
# Insert filter on selected content types only
#AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript

# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html

# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4.0[678] no-gzip

# MSIE masquerades as Netscape, but it is fine
BrowserMatch bMSIE !no-gzip !gzip-only-text/html

# Don't compress images
SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

 

# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary

Por supuesto también es importante tener la última versión instalada, no solo para tener las últimas características y menos bugs, sino que cada nueva versión en principio, está optimizada.

Desinstala todas las extensiones que no utilices actualmente.

Habilita todos los caches de Magento: Sistema -> Gestor de la cache.

Combina los archivos Javascript y combina los archivos CSS: Sistema -> Configuración -> Avanzado -> Desarrollador -> ‘Javascript settings’ y ‘CSS Settings’. también puedes usar una extensión para hacer esto mismo como Fooman Speedster, lo que te funcione mejor. Yo francamente tengo las dos cosas y no me da errores.

Usa la característica de Compilación de Magento. Se dice que acelera un 25%-50%: Sistema > Herramientas > Compilation.

Desabilita el log de Magento: Sistema -> Configuración -> Avanzado -> Desarrollador -> Log Settings (está desactivado por defecto).

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.

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.

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.

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.

Para medir el antes y despues de la carga de un sitio

Tal vez la más importante: se debe probar siempre los consejos anteriores si realmente funciona con su configuración. También utilizan los servicios como

Google Page Extensión de velocidad, websiteoptimization.com o Yahoo YSlow en busca de cuellos de botella y otras áreas de mejora.

 

Marcas actuales con Magento

Magento algunos ejemplos



Aquí hay algunos ejemplos de la vida real o rápida tiendas Magento:


Compartir

One&One

SEMrush

Visitanos en: