AD (728x60)

Visitantes

Con la tecnología de Blogger.

Seguridad Joomla

viernes, 22 de junio de 2012

Mejorar lentitud de Joomla

Share & Comment
Optimizaciones Generales: 
Paquete del Hosting Código HTML Imágenes Aceleradores PHP Optimizaciones específicas para Joomla! Extensiones usadas Base de datos Corrigiendo errores en tu sitio SEF/SEO (direcciones url amigables para buscadores / optimizaciones para buscadores)

Optimizaciones Generales: 
Paquete del Hosting
Mucha gente compra un paquete de alojamiento compartido y espera poder correr un sitio con cientos de hits por segundo en ese host. Tenemos que ser bien claros en esto, Joomla no es HTML estático. Puede servir cientos , si no miles de usuarios por segundo con páginas de HTML estático, pero Joomla requiere de bastante poder del CPU y si planeas tener un sitio con más de 5 hits por segundo, deberías buscar directamente un servidor dedicado, con aun más hits, deberías pensar directamente en un sistema de carga balanceada (load balancing system), varios servidores y un cluster MySQL. Existe un desafío particular con esto último. Para una configuración normal, podéis buscar un poco en este foro, hay muchos temas contando las experiencias de los usuarios. Especialmente las experiencias con diferentes proveedores son muy interesantes.
Código HTML
Cuando creas tu página, debes prestar atención a dos cosas. Primero, utiliza código válido. Cuantos más errores haya en tu código, más tiempo necesita un navegador para renderizarlo. Segundo, utiliza menos objetos. La mayoría de las personas usa demasiadas imágenes, flash, javascript en sus sitios. Ha habido grandes logros en relación a las velocidades de conexión para muchos usuarios y las conexiones de banda ancha que exceden 1Mbit no son tan extrañas como hace unos pocos años atrás, pero la mayor parte de los usuarios aun utilizan conexiones dial-up con un modem o conexiones ISDN. Si no quieres excluir al 90% de la comunidad Web, debes mantener tu sitio pequeño. Hay muchos servicios en la Web que pueden analizar tu sitio, voy a mencionar únicamente el Analizador de Páginas Web de Websiteoptimization. Para la validación de tu código HTML y Javascript, la extensión para Firefox Web Developer. Podéis conseguirla aquí. Estos detalles pueden mejorar la velocidad de tu sitio drásticamente y realmente deberías interesarte con estas mejoras.
Imágenes
Como escribí en el párrafo anterior, pequeño es hermoso. Y esto se aplica también con las imágenes. Revisa las imágenes en tu sitio y sopesa si realmente las necesitas en la resolución en que las tienes. ¿Una imagen con la mitad de los dpi no se vería tan bien? En general las personas no se dan cuenta que están usando imágenes del tamaño de una gran ciudad porque configurar el tamaño en código HTML muy pero muy pequeñas y sus navegadores tienen esas imágenes en sus caches, pero los demás tiene que cargar primero esa imagen gigantesca y luego es reducida al tamaño de una estampilla. Esto toma muchísimo tiempo y no quieren esperar tanto. Por lo tanto asegurate de que tus imágenes tienen tamaños razonables tanto en píxeles como en bytes.
Otra cosa que suele ralentizar la performance son las imágenes perdidas. Si tiene una referencia a un archivo que no existe, el servidor necesitará mucho tiempo para darse cuenta y contestar con un mensaje de error 404. En algunos casos los servidores se configuran de manera de redireccionar a la página de inicio al encontrar un error 404, por lo que el navegador recibe una página completamente nueva cada vez que pide por un archivo que no existe. Imaginate una página con una imagen perdida que es utilizada una docena de veces en distintos lugares del diseño. ¡Esto puede frenar la entrega de una página hasta medio minuto!
Aceleradores PHP
Si no puede pagar un servidor nuevo y está en el límite de su performance, piense en comprar un acelerador de PHP. Existen muchos disponibles, como Zend o APC. Simplemente busque en este foro para más información. Pueden realizar pequeñas maravillas con su performance.
Optimizaciones específicas para Joomla!
Extensiones utilizadas
Instalaste Joomla y fuiste encontrando todas aquellas pequeñas extensiones disponibles en extensions.joomla.org o joomlaspanish.org. Instalaste muchas de ellas y piensas que tu sitio se ve realmente maravilloso, aunque últimamente tienes que esperar unos cuantos segundos para que tu sitio aparezca.
Una vez más, este es otro ejemplo de pequeño es hermoso. Joomla necesita un montón de tiempo extra para cada módulo o plugin que debe cargar. Supongo que puedes pensar a donde voy con esto: Usa menos extensiones y trata de sacar lo mejor de las pocas que realmente necesitas. En cuanto a esto, deberías chequear tus extensiones y verificar cuales utilizan una fuente de datos externa. Si tu servidor tiene que cargar los datos desde otro servidor, procesar estos datos y recién entonces puede enviártelos, esto tomará seguramente varios segundos. Trata de encontrar otra extensión que haga lo mismo pero que guarde esos datos en tu servidor. Si el otro servidor tiene una falla o está siendo atacado (DoSed), tu servidor no se verá afectado por esto, ya que está leyendo los datos de una fuente local.
Base de Datos
Hay mucho potencial descansando en la base de datos. En general te recomendamos que utilices la última versión de Joomla, ya que ha habido grandes mejoras desde la 1.0.7 a la 1.0.8 y habrá mejoras aun mayores con la llegada de la 1.5. (la 1.0.8 utiliza la mitad de las llamadas a la base de datos (queries) que la 1.0.7, y la 1.5 hace las mismos trucos con solo un cuarto de las necesarias en 1.0.7
Si esto no es suficiente, podéis activar "query caching" en MySQL, Esto permitirá conservar muchas llamadas a la base de datos en la RAM de tu servidor y lo hará rápido como una bala, pero, se cuidadoso, vas a necesitar muchísima RAM. 2 GByte no es algo raro en estos días, es más un punto de partida en este tema. ¡Esto no es para un hosting compartido!
Rastreando errores en tu sitio
Otra cosa que recomiendo es activar el reporte de errores en PHP y configurarlo en el nivel más alto. Seguramente tendrás que corregir algunos errores en el código para deshacerte de todos ellos, pero estos errores también están desperdiciando parte del preciado tiempo del CPU y por lo tanto bajando la performance.
Si activas el rastreo de errores en la administración de Joomla, tendrás una lista de todas las llamadas a la base de datos (queries) que están siendo ejecutadas en la portada. Si el número es demasiado alto, deberías rastrearlas y ver que se puede hacer para reducir ese número.
SEF/SEO (direcciones url amigables para buscadores / optimizaciones para buscadores) Al final, pero no por ser menos importante tenemos SEF/SEO. Esto consume mucho del poder del CPU y si tienes problemas con tu servidor, debes desactivarlas como primera medida de emergencia. Debido a algunos errores en las primeras versiones de Joomla, SEF produce decenas si no cientos de llamadas a la base de datos innecesarias.
Luego de completar estos puntos deberías tener a tu servidor corriendo mucho más rápido que antes. Si continuas teniendo problemas, por favor, pública un tema en este foro (en inglés) o en los foros de joomlaspanish e intentaremos ayudarte con tu problema específico.
Tags: , , , ,

Written by

We are Creative Blogger Theme Wavers which provides user friendly, effective and easy to use themes. Each support has free and providing HD support screen casting.

1 comentarios:

  1. El acabar con la lentitud de tu sitio web es piedra angular para el posicionamiento, ya que es uno de los valores que más se juzga junto a saber que es la reputación online de tu marca

    ResponderEliminar

 

Popular Content

Recent Posts

Why to Choose RedHood?

Copyright © Blog JoomlaEmpresa.cl | Designed by Templateism.com