Generalidades
Puede haber varias razones por las que un sitio web no responde tan rápido como debería. Este artículo detalla algunas herramientas de línea de comandos que puedes usar para solucionar problemas de tu sitio y servidor web. Todos los comandos siguientes deben correrse en el servidor a través de SSH.
Tiempo de actividad
El comando uptime verifica la carga actual del servidor y cuánto tiempo ha estado funcionando. La carga debe permanecer en la mayoría de los casos en un solo dígito, pero un pico no es infrecuente. Por ejemplo:
[server]$ uptime 11:29:09 up 557 days, 12:30, 2 users, load average: 2.25, 2.49, 2.62
Esto muestra lo siguiente:
- Hora en que se ejecutó el comando.
- Cuántos días ha estado funcionando el servidor.
- Cuántos usuarios han iniciado sesión (esto es 2, tú y 'root').
- Carga promedio durante los últimos 1, 5 y 15 minutos.
Lo que busca es la carga 'a lo largo del tiempo', no necesariamente la carga en un solo instante.
TOP
El comando top te permite ver las tareas del sistema que se ejecutan en tiempo real. Ve el siguiente artículo para ver ejemplos sobre cómo usar este comando:
lsof
Suponiendo que estás ejecutando un sitio PHP, corre el siguiente comando. Si no estás usando PHP, simplemente cambia la sección grep php al idioma que estás usando:
Cambia lo siguiente cuando corras el comando:
- username — cambia tu usuario SSH
- php — cambiar al tipo de proceso que está buscando
[server]$ lsof -u username | grep php | grep /home php82.cgi 14963 username cwd DIR 8,17 4096 15115680565 /home/username/example.com/
Ignora los errores que veas en la respuesta. Lo que buscas es la lista de archivos abiertos para tus procesos PHP. Luego, puedes mirar más de cerca esos archivos para ver cuál puede ser el problema.
Solución de problemas del comando 'lsof'
Un problema con la ejecución de lsof es que puede no haber una salida útil con la que trabajar cuando se ejecuta una vez. El siguiente ejemplo usa el comando watch para correr el comando lsof cada dos segundos mientras envía los resultados a un archivo llamado results.txt.
[server]$ watch "lsof -u username | grep php | grep /home | tee -a results.txt"
Puedes ver la salida en vivo en tu terminal mientras se ejecuta. Cuando hayas terminado, haz clic en Ctrl + C para detenerlo. Luego puedes ver el resultado completo en el archivo results.txt corriendo el siguiente comando:
[server]$ cat results.txt
Si no hay nada en el archivo results.txt, correlo nuevamente. Continúa corriendolo hasta que tengas una línea de salida que muestre qué dominio o archivo se está utilizando actualmente. Puedes ver la salida en vivo en tu terminal mientras se ejecuta.
ps
El comando ps muestra una instantánea de los procesos en ejecución en el servidor. Ve el siguiente artículo para ver ejemplos sobre cómo usar este comando:
Examina tu archivo access.log
Cada sitio web de DreamHost almacena información de access.log sobre el sitio. Estos registros pueden volverse muy grandes y difíciles de leer, por lo que hay algunos comandos que puedes correr para saber rápidamente qué sitio está recibiendo más tráfico. Consulta el siguiente artículo para más detalles:
Problemas para iniciar sesión
Si tienes problemas para iniciar sesión en tu sitio o servidor, consulta los siguientes artículos para obtener instrucciones sobre cómo restablecer diferentes tipos de contraseñas: