Optimizar Magento para aumentar la velocidad y reducir el uso de recursos

PHP

magento-logoProbablemente Magento sea uno de los sistemas Ecommerce más completos y a la vez complejos que existen, tanto es esto que muchas veces el sistema se vuelve lento y pesado si no se lleva a cabo una optimización correcta. En el caso de hoy me he tenido que enfrentar a un sistema de más de 200 pedidos diarios y con más de 5.000 visitas el cuál estaba dando problemas de caidas de servidor y lentitud extrema bajo un servidor dedicado con un Intel Xeon y 16GB de RAM con potencia suficiente para hacerlo funcionar.

Las siguientes optimizaciones procuran no irrumpir el sistema de forma que algunas funciones queden inhabilitadas, aunque en algún caso como los logs y los reportes lo harán, pero todo sea por optimizar Magento.

Partiendo de la base de optimización en cualquier web, con cualquier CMS o con cualquier script, lo primero que tenemos que mirar es el uso de base de datos, comprobar que este no sea elevado y que no haga demasiadas consultas.

Activar la cache

Esto es básico, seguramente ya lo tengas activado si estás aquí, pero por si acaso el modo de hacerlo es en Sistema > Gestión de Caché y tener todo activado.

Desactivar logs y reportes de eventos

Uno de los problemas principales cuando tenemos una tienda en Magento con muchas visitas y visionados de páginas es que todo esto va creando una serie de logs y eventos en la base de datos para analítica que si disponemos de Google Analytics no es necesario tener activado. Magento nos permite vaciar estas tablas desde Sistema > Configuración > Sistema que se ejecutará al pasar el Cron de Magento.

Limpieza de registros en Magento

Si queremos eliminar estas funcionalidades por completo (cosa que recomiendo mucho) podemos irnos al archivo /app/etc/local.xml  y dentro de la etiqueta colocamos este código que desactivará completamente estas funcionalidades:


    
        
        
            disabled
        
        
            disabled
        
        
            disabled
        
        
            disabled
        
        
            disabled
        
        
            disabled
        
        
        
            disabled
        
        
            disabled
        
        
            disabled
        
        
            disabled
        
        
            disabled
        
        
            disabled
        
        
            disabled
        
        
            disabled
        
        
            disabled
        
    

Una vez hayamos cambiado esto podremos vaciar las tablas para liberar el espacio en la base de datos con las siguientes consultas:

TRUNCATE `log_url_info`;
TRUNCATE `log_visitor_info`;
TRUNCATE `index_event`;
TRUNCATE `log_visitor`;
TRUNCATE `log_url`;
TRUNCATE `report_event`;
TRUNCATE `dataflow_batch_import`;
TRUNCATE `dataflow_batch_export`;

Utilizar un fichero htaccess optimizado

Por último lo que debemos procurar es utilizar un fichero htaccess que habilite la compresión en nuestro, aquí os dejo una plantilla básica de htaccess para Magento centrada en mejorar la velocidad, SEO y seguridad.


Estas son básicamente las técnicas que yo he utilizado y que me han funcionado, seguro que existen muchas más, no olvides tampoco quitar extensiones que no se usen y cosas similares. Si tienes alguna técnica más puedes compartirla en los comentarios.

1 comentario

Enviar un comentario