Shell script analiza los tiempos de acceso al registro de nginx y las páginas que consumen más tiempo (consulta lenta)

  
 

Cuando el servidor está bajo presión, es muy laborioso de ejecutar. A menudo hacemos la optimización de la página del sitio, encontraremos esas páginas con más visitas y más tiempo. Encuentre las direcciones que son muy visitadas y consumen mucho tiempo, y obtendrá resultados inmediatos con optimización inmediata. A continuación se muestra una sección del script de shell que utilicé a menudo al realizar la optimización. Esto también se puede contar como una página lenta de la página lenta de la página web, como mysql slowquery.

Aquí está mi: preparación nginx

log_format principal '$ remote_addr - $ usuario_remoto [$ time_local] $ solicitud' '" estado $ " $ body_bytes_sent " $ HTTP_REFERER "' '" $ HTTP_USER_AGENT " " " $ HTTP_X_FORWARDED_FOR; $ REQUEST_TIME ';

access_log /var/log/nginx/access.log principal buffer = 32k;

en la configuración anterior, se puede ver: IP En la primera columna, el tiempo de la página está en la última columna, separados por espacios. Entonces, en awk, puedes usar: $ 1 $ NF para leer el valor actual. Donde NF es una constante, que representa el número completo de columnas.

El siguiente es un código de análisis de documentos cáscara, se pueden guardar como slow.sh


#! /bin /sh

export PATH = /usr /bin: /bin: /usr /local /bin: /usr /X11R6 /bin; export LANG = zh_CN.GB2312;

uso de la función () {echo " $ 0 opciones FileLog "; salida 1;}

función slowlog () {# set -x; campo = $ 2; archivos = $ 1; final = 2; msg = " ";

[[$ 2 == '1']] &&campo = 1 &&final = 2 &&msg = " número total de estadísticas de acceso "; [[$ 2 == '2']] &&campo = 3 &&final = 4 &&msg = " de acceso promedio de estadísticas en tiempo ";

echo -e " \\ r \\ n \\ r \\ n "; echo -n " $ mensaje "; -s seq '#' 30

Copyright © Conocimiento de Windows All Rights Reserved