统计5分钟内Nginx访问量及平均相应时间

通过对Nginx访问日志进行分析即可。

#!/bin/bash

function define()
{
    ori_log_path="/var/log/nginx/abc.access.log"
    tmp_log_path="/var/log/nginx/5min_abc.access.log"
    date_stamp=`date -d "-5min" +%Y:%H:%M:%S`
    day_stamp=`date +%d`
}

function gather()
{
    awk -F ‘[/ "\[]‘ -vnstamp="$date_stamp" -vdstamp="$day_stamp" ‘$7>=nstamp && $5==dstamp‘ ${ori_log_path} > ${tmp_log_path}
    log_num=`cat ${tmp_log_path} | wc -l`
    request_time=`awk ‘{print $(NF-1)}‘ ${tmp_log_path} | awk ‘{sum+=$1}END{print sum}‘`
    ave_request_time=`echo | awk "{print ${request_time}/${log_num}}" `
    rm -f /var/log/nginx/5min_abc.access.log
}

function output()
{
    echo "abc aver request time is ${ave_request_time}"
    echo "abc request total is ${log_num}"
}

function main()
{
    define
    gather
    output
}

main

脚本很简单,今天需要用,就写出来记录在这里了。就是锁定最近5分钟的访问日志,通过整理其内容,获取到日志条目数和相应时间的总数,计算即可。

我这里的日志格式,倒数第二列是相应时间。

时间: 2024-12-19 10:41:57

统计5分钟内Nginx访问量及平均相应时间的相关文章

oracle 按时间段统计15分钟内的数据

string sql = "select to_char(StartTime, 'yyyy')||'-'|| to_char(StartTime, 'mm')||'-'|| to_char(StartTime, 'dd')||' '|| to_char(StartTime, 'hh24')||':'|| floor(to_char(StartTime, 'mi')/15)*15 statime, sum(Count) as Counts from table where StartTime &l

sql server 大数据, 统计分组查询,数据量比较大计算十分钟内每秒钟执行次数

-- 数据量比较大的情况,统计十分钟内每秒钟执行次数 declare @begintime varchar(100); -- 开始时间 declare @endtime varchar(100); -- 结束时间 declare @num int; -- 结束时间 set @begintime = '2019-08-10 09:10:00' -- 开始时间 set @endtime = '2019-08-10 09:20:00' -- 结束时间 set @num = (select count(

用十条命令在一分钟内检查 Linux 服务器性能

原文地址: http://www.oschina.net/news/69132/linux-performance 如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?来看Netflix性能工程团队的这篇博文,看它们通过十条命令在一分钟内对机器性能问题进行诊断. 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1

用十条命令在一分钟内检查Linux服务器性能

如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?Netflix性能工程团队的Brendan Gregg写下了这篇博文,兄弟连Linux培训 小编整理如下:一起来看他们是怎样通过十条命令在一分钟内对机器性能问题进行诊断. 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -

用十条命令在一分钟内检查Linux服务器性能[转]

概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -m sar -n DEV 1 sar -n TCP,ETCP 1 top 其中一些命令需要安装sysstat包,有一些由procps包提供.这些命令的输出,有助于快速定位性能瓶颈,检查出所有资源(CPU.内存.磁盘IO等)的利用率(utilization).饱和度(satura

如何用十条命令在一分钟内检查Linux服务器性能

如果你的Linux服务器突然负载暴增,报警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?来看Netflix性能工程团队的这篇博文,看它们通过十条命令在一分钟内对机器性能问题进行诊断. 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -m sar -n DEV 1 sar -n TCP,ETCP 1 top 其

1分钟内检查Linux服务器性能的10条命令

如果你的Linux服务器突然负载暴增,告警短信快发爆你的手机,如何在最短时间内找出Linux性能问题所在?Netflix性能工程团队的Brendan Gregg写下了这篇博文,来看他们是怎样通过十条命令在一分钟内对机器性能问题进行诊断. 概述 通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解. uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -m sar -n DEV 1 sar -

日志分析   取出访问最多的IP,URL,以及五分钟内的访问流量

日志分析! 对最近五分钟的日志进行分析,取出访问最多的IP,URL,以及五分钟内的访问流量 #!/bin/sh name=`cat /etc/salt/minion | grep "^id" | awk '{print $2}'` ipaddr=`/sbin/ifconfig | grep "inet addr" | egrep -v "10\.|127\." | awk  -F'[: ]+' '{print $4}'` #LogPath='/u

bash 统计在线时长最长的十个玩/统计一天内一直处于不活跃状态的玩家的百分比

1.某游戏的客户端每隔5分钟会向服务端报告一次玩家的账户积分,如果两次报告的时间间隔不大于5分钟,认为该玩家在这5分钟内在线,假设报告数据的格式如下: IP                   Datetime                Score 223.152.112.238      2014-08-22 12:01:35     54232 现有一天的数据,按时间按序保存,粗略估计玩家数在百万左右,请使用尽量少的硬件资源完成以下请求,统计在线时长最长的十个玩家:如果玩家两次提交的积分