En nuestro artículo de hoy vamos a aprender a usar REDIS, que es un caché de objetos (consultas de base de datos, por ejemplo, en este caso particular), y cómo lo usamos como parte de nuestros servicios RapidPress y MultiPress, para acelerar increíblemente el rendimiento de los sitios web WordPress y disminuir la carga sobre los recursos del servidor.
Pero primero, salgamos de la duda, ¿qué es REDIS?
Wikipedia lo explica así: “Redis es un motor de base de datos en memoria, basado en el almacenamiento en tablas de hashes (clave/valor) pero que opcionalmente puede ser usada como una base de datos durable o persistente. Está escrito en ANSI C por Salvatore Sanfilippo quien fue patrocinado por VMware12 y, a partir de 2013, por Pivotal Software.3 Está liberado bajo licencia BSD por lo que es considerado software de código abierto.”
Ahora bien, dicho en español más simple, REDIS es un servicio que almacena distintos tipos de objetos en una base de datos y luego es capaz de hacer consultas, leer y cargar esa información rápidamente, de manera eficiente, ya que almacena todo en memoria RAM en lugar de disco duro, aprovechando que las velocidades de lectura y escritura (IOPS) de la memoria RAM son muchísimo más altas que las de lectura y escritura a disco duro (IOPS).
¿Cómo nos beneficia eso con WordPress?
Empecemos por recordar que WordPress escribe y lee todo el contenido escrito, las opciones y las ubicaciones de todos nuestros archivos, entre otras cosas, en una base de datos MySQL. También, es posible que esa base de datos esté siendo accionada por el motor de bases de datos MySQL de manera local, en el mismo servidor en donde está el sitio web, o en un servidor externo, ya sea dedicado o compartido.
Cada interacción que tenemos con la base de datos, ya sea al visitar el sitio (se lee el contenido de la base de datos) o al realizar cambios, agregar contenido, plugins o insertar un comentario (se escribe información a la base de datos), provoca que el procesador (CPU) del servidor tenga que realizar un proceso (pensar y calcular) estas interacciones, utilizando así recursos, muchas veces en grandes cantidades, lo que hace más lenta la carga del sitio o el proceso de escritura a la base de datos, desmejorando la experiencia de usuario (a nadie le gusta un sitio web lento).
Es aquí donde REDIS hace su magia. Por medio del plugin Redis Object Cache enviaremos todas las consultas que se hacen a la base de datos MySQL del WordPress a un servidor de REDIS, que se encargará de grabarlas en una base de datos en memoria RAM. De esta manera, cuando interactuemos con nuestro sitio web, en lugar de tener que procesar (pensar y calcular) estas consultas una y otra vez, ya que se repiten las mismas muchas veces, podremos simplemente leerlas muy rápido del servidor de REDIS, ahorrándole el esfuerzo al procesador (CPU) de nuestro servidor web y haciendo muchísimo más rápida la navegación del sitio.
Ok, ya sé que estás medio perdido. Te lo explico más sencillo:
Imagina que tienes 7 años y te estás aprendiendo las tablas de multiplicar. Si te pregunto 7 x 8, te tomará unos segundos pensar en la respuesta. Ya sea calculándola, o repasando toda la tabla en orden hasta llegar al resultado (muchos aprendemos memorización lineal y debemos seguir un proceso para llegar al resultado). Ahora bien, si ya estás en 9 grado de escuela secundaria, es probable que no necesites ni pensar la respuesta, sólo dirías ¡56!. Tu memoria ya tiene el resultado grabado, y muy fácilmente puedes responder sin tener que procesar la pregunta. Bueno, eso hace redis.
Hay varias formas de instalar redis. Te dejamos las dos más comunes
- Puedes instalar REDIS en tu servidor web, como otro servicio más, y conectarlo usando el plugin. REDIS se ejecutará en la IP 127.0.0.1 o como localhost, en el puerto 6379 y no necesitarás ingresar más nada. Esto te ayudará mucho en el rendimiento del sitio web, pero aún estás compartiendo la memoria RAM entre el servidor web, la base de datos y el REDIS.
- Otra forma es tener un servidor dedicado para REDIS, que no tiene que ser muy grande. Con 1GB de memoria RAM es bastante y no necesita mas que unos poco GB de capacidad de disco duro, tal vez 8, para poder ejecutar el sistema operativo y algunos otros servicios importantes como htop, algun firewall de IP tables como csf, ufw, etc.
En este caso tendrás que que configurar el archivo /etc/redis/redis.conf para que escuche por la red privada o pública del servidor, según como tu proveedor de servidores te lo permite. Lo ideal es que REDIS trabaje en una red privada, para evitar la latencia de una red pública. En el caso de los proveedores de VPS como VULTR esta latencia es casi despreciable si ambos servidores están en el mismo datacenter. Muchos proveedores de cloud ya tienen soluciones pre hechas como AWS.
En ServidoresRapidos.net utilizamos REDIS, con diversas configuraciones para acelerar sitios como www.panama2019.pa, de la Jornada Mudial de Juventud JMJ Panama 2019, el sitio el Encuentro Nacional de Renovación Juvenil ENRJ en Panamá, www.encuentrojuvenil.org, y nuestro propio sitio www.servidoresrapidos.net, entre otros.
Hay mucho más que necesitas saber sobre REDIS y sus encantos pero para eso están los tutoriales y la información de instalación y configuración de la ficha técnica del Redis Object Cache. Te dejo uno aquí que te puede funcionar:
https://www.comoinstalarlinux.com/como-instalar-redis-en-ubuntu-16-04/
¿Qué te pareció este artículo? ¿Te gustaría instalar el motor de REDIS para acelerar tu sitio web?
Si quieres más información y asesoría sobre nuestros servicios de hosting utilizando REDIS puedes contactarte con nosotros y con gusto te ayudaremos a escoger el plan de hosting administrado más adecuado para ti.