Ir al contenido

Herramientas de sistema

Christophe TREMBLAY-GUILLOUX
Christophe TREMBLAY-GUILLOUXIngeniero de sistemas Linux

Recopilar el contenido de todos los archivos .htaccess de un sitio web

Sección titulada «Recopilar el contenido de todos los archivos .htaccess de un sitio web»

Como usamos NGINX y no Apache, hay que revisar el contenido de los .htaccess para saber qué implementar como regla equivalente en NGINX:

bash
collect-htaccess.sh <usuario> [subdirectorio]

Medir la huella de memoria de un worker gunicorn

Sección titulada «Medir la huella de memoria de un worker gunicorn»

Los workers se crean por fork del maestro y comparten parte de sus páginas: la RSS cuenta varias veces la misma memoria. Hay que leer la PSS.

bash
for pid in $(cat /sys/fs/cgroup/system.slice/<service>.service/cgroup.procs); do
printf '%6s %5s MB %s\n' "$pid" \
"$(( $(awk '/^Pss:/{print $2}' /proc/$pid/smaps_rollup) / 1024 ))" \
"$(tr '\0' ' ' < /proc/$pid/cmdline | cut -c1-60)"
done

El primer PID es el maestro, los siguientes son los workers. El total del servicio, para contrastar:

bash
systemctl show -p MemoryCurrent <service>.service

Medir después de tráfico real, no justo tras el arranque: la huella crece con los módulos cargados y las cachés. El valor de un worker, redondeado hacia arriba, se anota en per_worker_mb de la declaración hiera del sitio, que sirve para calcular el número de workers. Repetir tras una actualización de versión mayor o al añadir una dependencia pesada.