¿Qué puedo hacer, aparte de usar un complemento de caché como jotcache, para mejorar el tiempo de respuesta del servidor de mi sitio web?
Ya he eliminado todos los módulos, complementos y componentes de artículos inactivos, ¿hay algo más que pueda hacer para mejorarlo?
Estoy hablando del tiempo antes de que el cliente (navegador) obtenga una respuesta a su solicitud . Y no el momento en que se carga la página.
php
cache
performance
server-response-time
hosting
web-tiki
fuente
fuente
Respuestas:
Hay varios pasos que puede seguir para aumentar el rendimiento del lado del servidor. Tenga en cuenta que algunos de estos no funcionarán con la mayoría de los hosts compartidos. Para un gran rendimiento, generalmente necesita un control más detallado.
Al igual que con cualquier optimización, debe medir el efecto que tiene en el rendimiento de su sitio. Para las optimizaciones básicas, son útiles herramientas como PageSpeed e YSlow (recomiendo las versiones de Firefox). Para una comprensión más profunda, tendrá que medir los tiempos de respuesta reales de su sistema en vivo durante un período de tiempo.
PHP
Habilitar almacenamiento en caché de código de operación
Esto es probablemente lo más importante que puede hacer para aumentar el rendimiento de su sitio. Recomiendo usar OpCache o APC . La configuración de estos cachés se puede ajustar para un rendimiento aún mayor en función de las necesidades específicas de los servidores y sitios, pero la instalación ya es un gran impulso.
Actualizar la versión de PHP
La versión PHP más reciente viene regularmente con mejoras de rendimiento. Además, hay una serie de casos en los que Joomla puede usar un mejor código cuando se ejecuta en una versión PHP más nueva. A partir de hoy, no debería utilizar una versión de PHP anterior a PHP 5.4 si le preocupa el rendimiento.
Configuraciones PHP
En versiones anteriores de PHP (<= 5.3) tenga cuidado de apagar
register_globals
ymagic_quotes_gpc
obtener un rendimiento gratuito. En PHP> = 5.6 cambiaralways_populate_raw_post_data
a -1.Extensiones PHP
Joomla contiene algo de código para solucionar las extensiones PHP que faltan. Esto siempre será más lento que esas extensiones. Para una mejora del rendimiento decente instalar las siguientes extensiones:
mbstring
,zip
,ftp
Servidor web
Habilitar gzip
La habilitación de la compresión del lado del servidor intercambia el ancho de banda para los recursos de la CPU. Para la mayoría de los sitios, esta es la decisión correcta. Tenga cuidado de comprimir solo datos de texto, comprimir datos binarios le dará el éxito de la CPU sin las ventajas de ancho de banda. También puede habilitar la compresión en la configuración de Joomla, pero es mejor si deja que el servidor se encargue de esto.
Precomprimir recursos estáticos
No estoy hablando de minficación (aunque esto también ayuda), pero puede configurar Nginx y Apache en el servidor de recursos ya comprimidos, eliminando efectivamente el golpe de CPU de la compresión gzip. Puntos de bonificación: use Zopfli para archivos aún más pequeños.
Use FastCGI para PHP
Más específicamente debes usar
php-fpm
. Esto impide iniciar PHP cuando el navegador solicita un archivo que no sea PHP.Use los encabezados de caché apropiados
El uso del
Expires
encabezado puede reducir en gran medida los recursos del servidor necesarios. Después de todo, la solicitud más rápida es la que nunca se hace.apache
En general, recomendaría usar Nginx para sitios de alto rendimiento. Si realmente necesitas usar Apache por alguna razón, recibí un consejo extra:
Deshabilitar AllowOverride
La configuración
AllowOverride
deNone
evita una gran cantidad de E / S de disco yJoomla
No use el modo FTP
Si bien no afecta a los usuarios que leen el sitio, ralentizará algunas operaciones, como la instalación de extensiones.
Desactiva las extensiones no utilizadas
Esto se aplica especialmente a los complementos, muchos de estos se ejecutan en cada solicitud. Deshabilitar los menús y componentes es principalmente útil cuando se enumeran las extensiones y los tipos de menú disponibles. También tome 5 minutos para recorrer las extensiones que vienen con el núcleo de Joomla y deshabilite las que no usa.
Desactivar Preparar contenido
Si usa muchos módulos personalizados (
mod_custom
no personalizados como en la escritura propia), verifique si puede deshabilitar Preparar contenido en ellos. Esto ahorra algo de procesamiento.Usar almacenamiento en caché
Si te tomas en serio el rendimiento, querrás habilitar el almacenamiento en caché. Especialmente útil para leer sitios pesados con muchos usuarios anónimos. Los usuarios con sesión iniciada omitirán la mayor parte de la memoria caché; si tiene muchos de estos, el efecto no será tan grande.
Use un controlador de sesión alternativo
Al usar un controlador de sesión alternativo, puede liberar su base de datos para cosas más importantes. No recomendaría el archivo (confusamente llamado None en la configuración de Joomla), ya que eso aumentará una vez más el disco IO. El uso de APC es potencialmente el fastet, pero aumenta el riesgo de perder todos los datos de la sesión. El término medio correcto es Memcache. Si bien esto requiere un proceso adicional, es más confiable que APC y mucho más rápido que almacenar todos los datos en la base de datos
Mantenga su sitio simple
¿Realmente necesitas ese botón de Facebook? ¿Qué pasa con ese lindo ícono que nadie ve porque está parcialmente oculto detrás de un banner? Cuanto menos se muestre su sitio, más rápido será. Además, siempre que sea posible, use CSS3 en lugar de imágenes.
Diverso
Establecer un favicon
Gracias a una decisión que se remonta a los navegadores Internet Explorer 4.0, solicite un archivo llamado
favicon.ico
cada vez que un usuario visita su sitio. Si no tiene uno, esto causa IO innecesarias, ya que las respuestas 404 no se almacenan en caché. Especifique el icono de su sitio con una metaetiqueta HTML o agregue un archivo llamadofavicon.ico
a la raíz web. ¿No quieres un favicon? Coloque un PNG transparente con un tamaño de 1x1 píxeles en esa ubicación. Tenga en cuenta que la extensión aún debe ser.ico
.Optimiza tus imágenes
Es sorprendente qué tipo de ahorro se puede obtener al optimizar las imágenes, especialmente los archivos PNG. Hay una variedad de herramientas disponibles para cualquier sistema operativo, personalmente uso ImageOptim, que está disponible para OS X. Las imágenes principales de Joomla ya están optimizadas, pero utilizan sus propias imágenes, especialmente las plantillas que son importantes. También puede verificar las extensiones que está utilizando. Si son de código abierto, ¿por qué no contribuye con una solicitud de extracción que contiene imágenes recién optimizadas?
El avanzado
Si realmente quieres salir, considera poner Varnish en frente de tu sitio. Almacena en caché las solicitudes a su sitio y, si es posible, las atiende desde su propio caché, sin llegar a Joomla. Es una herramienta compleja pero con mucho poder. Joomla no aprovechará la funcionalidad avanzada como Edge Side incluye (ESI), pero su propio código sí podría.
fuente
Una cosa GRANDE que puede hacer para mejorar los tiempos de respuesta para su sitio es actualizar la configuración de su módulo. Los módulos personalizados (usando mod_custom) tienen una opción para habilitar / deshabilitar la preparación de contenido. Esto le permite ejecutar complementos de contenido en el contenido de datos dentro de su módulo personalizado. Es potente cuando se usa correctamente, pero agrega tiempo de representación adicional a la salida del módulo. A menos que realmente esté utilizando un complemento de contenido dentro del contenido de su módulo personalizado, es mejor desactivarlo. Verá una disminución en el tiempo de representación del módulo cuando haga esto.
Captura de pantalla de la configuración:
fuente
Supongo que ha ejecutado su sitio a través de la velocidad de la página de Google, y de hecho está buscando reducir el tiempo de respuesta de la página, es decir, el tiempo que tarda su marcado en enviarse al navegador.
Los culpables más probables de esto son las consultas pesadas. Active la depuración y mire en la parte inferior de la página para averiguar cuáles son las consultas más pesadas y eliminarlas o reducirlas. También puede tomar la ayuda de los registros de consultas lentas de su servidor MySQL.
Lo siguiente que puede ver es el almacenamiento en caché. Dependiendo del tipo de sitio que tenga, puede activar el almacenamiento en caché conservador o progresivo. Progressive se debe utilizar en sitios que no tienen funciones relacionadas con el usuario.
fuente
Las cosas que sé que pueden ayudar (la mayoría de las cuales se han enumerado) son estas:
He usado una combinación del caché Joomla incorporado (o incluso APC habilitado en el servidor) y complementos como el plugin rockbooster de gzip o rocket theme. También utilizo el complemento CDN que no es número con una cuenta de Amazon.
Definitivamente ayuda, pero debe vigilar su sitio y deshabilitar la memoria caché para los componentes que tienen problemas. Tuve que pasar por alto CiviCRM en nuestro sitio porque no funcionaba bien con el almacenamiento en caché. Joomla viene con un complemento de control de caché que puede manejar eso.
fuente
También querrá considerar la reducción de los activos locales y el almacenamiento en caché adecuado. Una cosa que puede hacer es usar complementos de CDN. Aquí hay dos que recomendaría:
'corePHP' jomCDN - https://www.corephp.com/joomla-products/jomcdn
NoNumbers CDN para Joomla! - http://www.nonumber.nl/extensions/cdnforjoomla
Además, si ninguno de los anteriores parece resolver los problemas, es posible que tenga un problema más profundo, posiblemente dentro de su plantilla, el servidor mismo u otras cosas. Si ese es el caso, podría ser mejor contratar a alguien para que busque el problema y lo resuelva por usted.
fuente
También puede usar este código en su archivo .htaccess:
fuente
¡He creado más de cientos de sitios web usando Joomla!
En la mayoría de los casos, la gente piensa que Joomla está trabajando mucho en el servidor, pero según los análisis realizados por mí, lo más importante para mantener su sitio web RÁPIDO es OPTIMIZAR las IMÁGENES y JS / CSS.
No use editores de Joomla, como JCE, para cambiar el tamaño de la imagen. Use editores de imágenes como Photoshop o cualquier otro editor para cambiar el tamaño de sus imágenes al tamaño que necesita.
Utilice herramientas de compresión JS / CSS.
¡Siempre usamos Pingdom Tools para analizar la velocidad del sitio web y utilizamos la función integrada de T3 Framework para optimizar JS / CSS!
fuente
¿Has eliminado los complementos no utilizados? Joomla tiene que cargar y procesar cada complemento publicado para eventos activados en una solicitud.
¡Tienes que entender las extensiones que has instalado y cómo interactúan con Joomla!
Muchas extensiones instalan complementos que administran el contenido, el sistema o las actividades del usuario para iniciar funciones de código. Algunos de ellos pueden ser superfluos.
Sé que k2 instala muchos complementos que responden a eventos relacionados con el idioma que no producen resultados reales para sitios de un solo idioma. Anular la publicación de esos complementos puede reducir el tiempo de procesamiento.
fuente
Mejore los recursos del plan de servidor / alojamiento web
Tal vez no sea la respuesta que buscaba el OP, pero vale la pena mencionarlo en caso de que no sea obvio para todos (y ninguna otra respuesta lo haya mencionado aún): mejorar los recursos del servidor, como la memoria, la CPU y la velocidad del disco.
Si está utilizando un alojamiento web compartido, la actualización del plan "económico" al plan "comercial" u otro plan más avanzado puede mejorar los recursos del servidor disponibles para su sitio web y reducir el tiempo de respuesta del servidor. Mudarse a una empresa de alojamiento de mejor calidad (por ejemplo, con servidores de alojamiento web compartidos menos concurridos) también podría ayudar.
Un mejor plan de alojamiento también podría darle acceso a mejoras de rendimiento que no están incluidas en el plan básico de alojamiento. Por ejemplo, los planes de alojamiento "GrowBig" y "GoGeek" SiteGround incluyen caché dinámica que ayuda a reducir significativamente el tiempo de respuesta del servidor. La opción de caché dinámica no está disponible en el plan "Inicio".
fuente