antecedentes:
En reciente centinela de acoplamiento para el proyecto, mediante la medición de presión jMeter para determinar las reglas que limitan el valor de QPS, QPS valor al mismo tiempo quería mirar a la interfaz de línea.
materiales:
Log es el logaritmo de la presión de prueba generada localmente, es importante formato
2019-07-03T11:16:23+0800|127.0.0.1|-|-|GET|http|127.0.0.1|/iptv/api/new/video/play/get?...
2019-07-03T11:16:23+0800|127.0.0.1|-|-|GET|http|127.0.0.1|/iptv/api/new/video/play/get?...
2019-07-03T11:16:23+0800|127.0.0.1|-|-|GET|http|127.0.0.1|/iptv/api/new/video/play/get?...
problema:
Cómo estadísticas consultas por segundo por segundo que una interfaz?
análisis:
Ver los siguientes registros, 2019-07-03T11: 16: 23 0800 | 127.0.0.1 | - | - | GET | HTTP | 127.0.0.1 | / IPTV / API / nueva nueva / video / Reproducir / GET ..., de hecho? , hemos de contar con la interfaz / IPTV / api / nueva / video / juego / obtener el mismo número de segundos (es decir: el número de segundos al mismo tiempo, 23 2019-07-03T11 :: 16 ) el número de ocurrencias.
solución:
Lanza primera línea de comando: tail -f Host-la access.log | grep '/ IPTV / API / nueva nueva / video / Reproducir / GET' | awk -F '|' '{substr impresión ($ 1,1,19)}' | uniq -c
- En primer lugar, la cola -f registro de consultas ininterrumpida (f ininterrumpida durante las últimas estadísticas indican ingresar)
- En segundo lugar, queremos bloquear la línea especificada (es decir, el registro de acceso incluye la interfaz especificada), grep se utiliza generalmente, tales como grep / IPTV / API / nueva nueva / video / Reproducir / GET , para dar una línea de solicitud correspondiente del registro
- Tomado en la etapa segunda columna de tiempo correspondiente e imprimir (es decir .: 2019-07-03T11: 16: 23 es ), que se utiliza comúnmente comandos y herramientas de corte awk, demo aquí con awk:
- El formato de registro anterior es '|' dividiendo el delimitador señalado es -F parámetro awk empleado |, después de dividir un resultado tomamos la primera, es decir, $ 1; substr luego llevado primero a 19 (Formato : 2019-07-03T11: 16: 21), un resultado de impresión se imprime:
2019-07-03T11:16:21 2019-07-03T11:16:21 2019-07-03T11:16:21 2019-07-03T11:16:22 2019-07-03T11:16:22 2019-07-03T11:16:22 2019-07-03T11:16:22 2019-07-03T11:16:23 2019-07-03T11:16:23 2019-07-03T11:16:23 2019-07-03T11:16:23
- El formato de registro anterior es '|' dividiendo el delimitador señalado es -F parámetro awk empleado |, después de dividir un resultado tomamos la primera, es decir, $ 1; substr luego llevado primero a 19 (Formato : 2019-07-03T11: 16: 21), un resultado de impresión se imprime:
-
Los resultados fueron que las estadísticas re, herramientas comunes UniQ, parámetro especifica -c:
20 2019-07-03T11:05:22 14 2019-07-03T11:05:23 22 2019-07-03T11:05:24 20 2019-07-03T11:05:25 20 2019-07-03T11:05:26 20 2019-07-03T11:05:27 20 2019-07-03T11:05:28
Command Line Resumen:
tail-f huésped-access.log | grep '/ IPTV / api / nueva / video / juego / get' | awk -F '|' '{substr de impresión ($ 1,1,19)}' | uniq -c
La obtención de registro incrementales | información de la línea correspondiente a cada solicitud | mismo tiempo el número de segundos tomada | contar con el peso
resultados:
valor QPS de alrededor de 20 por segundo
Nota: El uso de herramientas estadísticas cortó QPS, Portal