View a markdown version of this page

Consejos y prácticas recomendadas para las WordPress instancias de Amazon Lightsail - Amazon Lightsail

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Consejos y prácticas recomendadas para las WordPress instancias de Amazon Lightsail

Esta guía recopila consejos prácticos para mantener una WordPress instancia en Amazon Lightsail rápida, estable y segura.

Mantenga su sitio seguro y actualizado

Mantén WordPress actualizados los temas y los complementos

  • Aplica las actualizaciones WordPress principales, temáticas y de complementos con prontitud. Las actualizaciones suelen incluir correcciones de rendimiento y seguridad. Para obtener más información, consulte Proteja las instancias y los contenedores de Lightsail con la administración de actualizaciones.

  • Elimine los complementos y temas que no esté utilizando. Los plugins inactivos siguen suponiendo una sobrecarga de mantenimiento y seguridad, y los plugins mal escritos son una causa frecuente del elevado consumo de memoria.

  • Pruebe las actualizaciones principales en una copia instantánea de la instancia antes de aplicarlas a su sitio activo.

Realiza una copia de seguridad antes de realizar cambios

Antes de editar los archivos de configuración o instalar complementos, haz una instantánea de la instancia para poder restaurar fácilmente la aplicación a partir de la instantánea en caso de que algo vaya mal:

  • Cree una instantánea manual desde la consola Lightsail, o

  • Habilite las instantáneas automáticas.

Para obtener instrucciones, consulte Realizar copias Linux/Unix de seguridad de las instancias de Lightsail con instantáneas y Configurar instantáneas automáticas.

Supervisión y solución de problemas

¿Cómo sé si mi instancia se está quedando sin memoria?

Los síntomas más comunes incluyen:

  • Tu sitio muestra el mensaje «Error al establecer una conexión a la base de datos» (tanto en el sitio público como en el panel de administración). Esto normalmente significa que MariaDB se ha detenido.

  • El sitio se carga lentamente o se agota con un tráfico modesto.

Para confirmarlo, conéctate a la instancia mediante SSH y comprueba el uso actual de la memoria:

free -m

Mira la available columna de abajoMem:. Esta es la cantidad de memoria que puede seguir utilizando la instancia. Si su tamaño available es inferior a 50 MB, la instancia está sometida a una gran presión de memoria y corre el riesgo de que se OOM-killing procesen.

También puedes comprobar si el núcleo ha terminado un proceso por quedarse sin memoria (lo que se ha producido como una «pérdida de memoria»):

sudo dmesg | grep -i "out of memory"

Si ve entradas que mencionan mariadbd o mysqld que su base de datos se está cerrando debido a la presión de la memoria, los pasos descritos en Mejorar el rendimiento de la memoria deberían serle útiles.

¿Mi instancia ya tiene un ajuste de memoria automático?

El nuevo modelo de WordPress Lightsail incluye un servicio que detecta el tamaño de la memoria de la instancia y aplica automáticamente el intercambio, MariaDB Apache/PHP y los ajustes descritos en esta guía cada vez que se inicia la instancia, incluso después de iniciarla o reiniciarla. Para comprobar si la instancia lo tiene, conéctese a través de SSH y ejecute:

systemctl status lightsail-memory-config

Si el servicio existe, la instancia ya administra estos ajustes automáticamente y no es necesario que los aplique manualmente. Si el comando indica que no se ha podido encontrar la unidad, sigue los pasos que se indican en Mejorar el rendimiento de la memoria.

Optimización del rendimiento

Elija el paquete adecuado para su carga de trabajo

La forma más eficaz de mejorar WordPress el rendimiento es ejecutar un paquete de instancias con suficiente memoria para la carga de trabajo. WordPress en sí mismo es ligero; sin embargo, los complementos, los temas y la base de datos pueden consumir una cantidad considerable de memoria.

  • 512 MB — 1 GB de RAM (paquetes de nano y microinstancias de Lightsail): adecuados para blogs pequeños y sitios de poco tráfico con un conjunto mínimo de complementos. Estas instancias son las que tienen más probabilidades de sufrir presión en la memoria y son las que más se benefician de los ajustes que se indican a continuación.

  • 2 GB de RAM o más: se recomienda si utilizas creadores de páginas (como Elementor o Divi) o muchos complementos activos. WooCommerce

A medida que tu sitio crezca y necesite más recursos, puedes actualizarlo a un paquete más grande creando una instantánea y lanzando una nueva instancia más grande a partir de ella.

Mejore el rendimiento de la memoria

nota

El nuevo modelo de WordPress Lightsail ajusta automáticamente la memoria en función del tamaño cada vez que se inicia la instancia, por lo que la mayoría de los pasos manuales de esta sección se gestionan automáticamente si va a crear una nueva instancia de Lightsail. WordPress

Si tu sitio muestra el mensaje «Error al establecer una conexión a la base de datos» cuando tú (o tus visitantes) intentas cargar una página, o ves mensajes de registro que indican que MariaDB se ha eliminado por falta de memoria (por ejemplo, en el registro del sistema), Out of memory: Killed process ... (mariadbd) lo más probable es que tu instancia se esté quedando sin memoria. En instancias más pequeñas, el núcleo de Linux puede finalizar el proceso de la base de datos MariaDB (una «eliminación de OOM») cuando se agota la memoria.

Los tres pasos que se indican a continuación reducen la presión sobre la memoria al añadir espacio de intercambio y limitar la cantidad de memoria que pueden utilizar la base de datos y el servidor web. Cada paso ayuda por sí solo, por lo que puede aplicar solo los que necesite o los tres para obtener el mayor efecto. Antes de empezar, asegúrate de tener la última instantánea de la instancia. Consulte Hacer una copia de seguridad antes de realizar cambios para obtener más información.

importante

Estos pasos requieren conectarse a la instancia mediante SSH y ejecutar comandos con sudo ella. Al reiniciar la base de datos y el servidor web, se interrumpe brevemente el sitio (unos segundos); por lo tanto, realice los cambios durante un período de poco tráfico.

Para conectarse a su instancia, utilice el cliente SSH basado en navegador de la consola Lightsail o consulte Conectarse a una instancia de Linux o Unix.

Paso 1: Agrega un archivo de intercambio

Un archivo de intercambio deja espacio al sistema operativo para descargar la memoria inactiva en el disco, lo que ayuda a evitar bloqueos por falta de memoria en instancias con menos de 1,5 GB de RAM. Recomendamos añadir el intercambio en los paquetes nano o micropaquetes, ya que, por lo general, no es necesario en los más grandes.

En primer lugar, compruebe si el intercambio ya está activo:

cat /proc/swaps

Si la única línea que se imprime es el encabezado (no hay entradas de intercambio en la lista), no hay ningún intercambio configurado:

Filename Type Size Used Priority

Cree un archivo de intercambio de 650 MB:

sudo dd if=/dev/zero of=/mnt/.lightsail.swap bs=1K count=665600 status=progress sudo chmod 600 /mnt/.lightsail.swap sudo mkswap /mnt/.lightsail.swap sudo swapon /mnt/.lightsail.swap

Para que el archivo de intercambio persista después de los reinicios, agréguelo a/etc/fstab:

echo '/mnt/.lightsail.swap none swap sw 0 0' | sudo tee -a /etc/fstab

Confirma que el intercambio ya está activo:

cat /proc/swaps

El archivo de intercambio aparece ahora en la salida:

Filename Type Size Used Priority /mnt/.lightsail.swap file 665596 0 -2

Paso 2: Ajustar la base de datos MariaDB

innodb_buffer_pool_sizees el mayor consumidor de memoria individual de MariaDB. Si el tamaño del grupo predeterminado es demasiado grande en comparación con la memoria de la instancia, puede provocar bloqueos por falta de memoria.

Busca el valor recomendado innodb_buffer_pool_size para tu instancia en la tabla de configuración recomendada y, a continuación, crea un archivo de configuración dedicado con ese valor (16Msustitúyelo en el ejemplo por tu valor):

sudo tee /etc/mysql/mariadb.conf.d/90-lightsail-memory.cnf > /dev/null <<'EOF' [mysqld] innodb_buffer_pool_size = 16M EOF

Para ejecutar el cambio, ejecuta el siguiente comando que reinicia la base de datos:

sudo systemctl restart mariadb

Paso 3: Ajuste Apache y PHP

Apache es el servidor web que gestiona las solicitudes entrantes a su WordPress sitio. De forma predeterminada, permite hasta 150 procesos de trabajo simultáneos (MaxRequestWorkers). En un caso pequeño, cada elemento de trabajo de PHP puede utilizar decenas de megabytes, lo que puede agotar la memoria en caso de carga. Para limitar el número de trabajadores para que coincidan con tu instancia y limitar la cantidad de memoria que puede utilizar una sola solicitud de PHP, establece los mpm_prefork límites de Apache (los valores que se muestran son para una microinstancia; consulta la tabla de configuración recomendada para tu instancia):

sudo tee /etc/apache2/mods-available/mpm_prefork.conf > /dev/null <<'EOF' <IfModule mpm_prefork_module> StartServers 1 MinSpareServers 1 MaxSpareServers 3 MaxRequestWorkers 5 MaxConnectionsPerChild 5000 </IfModule> EOF

Configura el PHP memory_limit (512 MB es un límite superior seguro para todos los tamaños). Primero detecte su versión de PHP y, a continuación, escriba el archivo de configuración:

PHP_VERSION=$(php -r 'echo PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;') sudo mkdir -p /etc/php/${PHP_VERSION}/apache2/conf.d sudo tee /etc/php/${PHP_VERSION}/apache2/conf.d/90-lightsail-memory.ini > /dev/null <<'EOF' memory_limit = 512M EOF

Aplica ambos cambios reiniciando Apache:

sudo systemctl restart apache2

Usa los valores que aparecen a continuación en función de la RAM total de la instancia. Para comprobar la memoria de la instancia, ejecute free -m y consulte la total columna o consulte el tamaño del paquete en la consola de Lightsail.

Utilice el almacenamiento en caché para reducir la carga

El almacenamiento en caché reduce la frecuencia con la WordPress que hay que consultar la base de datos y ejecutar PHP, lo que reduce el uso de CPU y memoria: