Blog de Duplika

Consumo de recursos y optimización de aplicaciones

El consumo de recursos en cuentas de hosting compartidas suele ser un inconveniente de las que muchas empresas no hacen referencia, si bien es normal que dialoguen con el cliente directamente, sugiriéndole migrar a un servidor dedicado ni bien su sitio requiere de recursos particulares.

Aunque migrar a un servidor dedicado es la solución obvia para que un sitio funcione a velocidad pico, sin caídas ni latencias, muchas veces el cliente desconoce las razones técnicas de esta necesidad, por lo que pagar mucho más de lo que venía abonando le puede resultar un despropósito.

La buena noticia es que, para un porcentaje no pequeño de los sitios que emplean aplicaciones (léase Wordpress, Drupal, CMS para foros, Wikis y demás), existen soluciones del lado del software que pueden probarse antes de saltar directamente a un hardware más veloz. Estos "tweaks" u optimizaciones radican en gestionar pequeños cambios, reduciendo así el consumo de recursos y evitando la necesidad de migrar a un servidor virtual o dedicado.

A continuación detallaremos alguna de las posibles mejoras, dependiendo de la plataforma, para intentar reducir el consumo de un website, mantener a la empresa de hosting tranquila, aumentar la velocidad de carga del sitio y posiblemente evitar la migración a una cuenta mas costosa.

Mejoras prácticas, comunes a cualquier plataforma

  • Instalación de módulos / plugins: Muchas veces la instalación de "agregados" a una aplicación impactan duramente sobre el rendimiento, por lo que aconsejamos utilizar la menor cantidad de módulos/plugins posibles, desinstalar aquellos que no utilicemos, y los que sí mantenerlos actualizados siempre.
  • Versiones actualizadas: Los desarrolladores suelen mejorar múltiples aspectos de rendimiento y seguridad de manera periódica. Aunque tener la última versión no es siempre sinónimo de "mayor velocidad", sí lo es cuanto a mayor seguridad. Recuerden siempre descargar la última versión actualizada de la plataforma que emplean (y de los plugins!).
  • Caché: La gran mayoría de las plataformas permiten activar el caché (un espacio donde se almacena la información más utlizada sin necesidad de recurrir a la base de datos con cada visita), y el mecanismo para lograrlo es el mismo en casi todos los casos; la activación del cache es uno de los mayores beneficios para un sitio, logrando una significativa reducción de consumo.
  • Optimización de la base de datos: Desde su panel de control, via phpMyAdmin es posible ejecutar la optimización de todas sus tablas. Es conveniente realizar esta tarea admisnitrativa al menos una vez a la semana en sitios de muchas visitas.

Haz clic para ampliar las imagenes que te enseñan cómo optimizar las tablas de tu base de datos con phpMyAdmin paso a paso

Nota: en nuestro ejemplo, tal como se muestra en la segunda captura superior, el nombre de la base de datos es MiSitio_DB, pero en tu caso el nombre probablemente será otro!



Optimizando WordPress

El primer paso, y el más importante de todos, consiste en la instalación y configuración de W3 Total Cache. Este plugin acelerará la carga de tu blog, reducirá el espacio necesario para el caché, y recortará considerablemente el consumo de recursos del servidor.

Para hacerlo más rápido, les ofrecemos como alternativa importar las opciones recomendadas descargando este archivo. Una vez descargado, deberán descomprimirlo (Windows lo hará por ustedes cuando realicen doble clic) y luego importarlo mediante la opción "importar archivo de configuración" del plugin. En la imagen de la derecha les mostramos cómo realizar estos pasos.

Si prefieren configurar W3 Total Cache manualmente, las opciones que deberían setear son las siguientes (haz clic en cada imagen para ver la guía visual de los detalles):



Page cache


Minify


Database cache


Object cache


Browser cache

Recuerda: debes presionar el botón "save all settings" para guardar los cambios que realices.

Adicionalmente, como consejo genérico, te recomendamos realizar un cambio a la vez, guardarlo, aceptar borrar el caché creado con anterioridad cuando este plugin te lo sugiera (al refrescar los cambios, en la parte superior de tu interfaz wordpress te aparecerá una leyenda con un botón para realizarlo). Una vez que hayas creado el cache nuevo, verifica que todo funcione bien en tu sitio, y así cada vez.
Si has sido prolijo y hecho un cambio a la vez, en el momento en que algo se comporte de manera extraña podrás volver atrás fácilmente.


Optimizando Drupal

  • Desde Administrar » Rendimiento es posible activar el caché en modo Normal o Agresivo.
  • Activar la compresión de los archivos agregados y CSS desde Administrar » Rendimiento.
  • DB Maintenance le permite ejecutar la optimización de la base de datos.
  • Memcache: Gracias a que en nuestro servidor ya se encuentra pre-instalado el módulo memcache, activarlo resultará muy fácil, acelerando y reduciendo la cantidad de consultas a la base de datos considerablemente.
  • Boost: En el caso de que la mayoría del tráfico de tu sitio corresponda a visitas no registradas, este módulo mejorará su rendimiento al máximo.
  • El módulo Throttle te permite desactivar determinados módulos cuando el sitio posea más de una cantidad determinada de visitas anónimas.

Joomla

  • En Configuración Global, pestaña sistema, activar el caché, y en gestor de caché seleccionar memcache, activando la opción Memcache Persistent. En host colocar localhost y en port, 11211.
  • Instalar el plugin JCH Optimize desde aquí

Moodle

  • Dentro de Site Admin, dirijanse a Server » Performance » Cache type y seleccionen memcache.
  • Habiliten el Record Cache en la misma sección
  • Activen language cache
  • Los archivos de log pueden crecer y ralentizar el sitio con el transcurso del tiempo. Si notaron esto, pueden reducir el "tiempo de vida" de cada log en Admin » Server » Cleanup
  • Encontrarán mas detalles sobre el rendimiento de Moodle acá.

Simple Machines Forum (SMF)

  • Desactivar conexiones persistentes desde Admin » Server Settings » Use a persistent connection
  • Desactivar detección de hostnames desde Admin » Layout and Options » Disable Hostname Lookups (activar checkbox)
  • Optimizar las tablas desde Admin » Forum Maintence » Hit Optimize Tables
  • Activar memcaché, escribiendo en confirmación "localhost:11211"

Magento

  • Instalar el plugin Fooman Speedster para comprimir y juntar (o "minificar") todos los archivos CSS y JS.
  • Activar la compresión via GZIP descomentando (es decir, borrando el signo de numeral # al comienzo de la instrucción) la siguiente línea en .htaccess: #php_flag zlib.output_compression on

Iremos actualizando esta guia de a poco, incorporando nuevas aplicaciones y métodos. Todos los que quieran colaborar comentando sus casos y experiencias pueden hacerlo dejando un comentario abajo!