gpt4 book ai didi

linux - 如何在 Linux 中为 Apache 获取 "requests per second"?

转载 作者:IT王子 更新时间:2023-10-29 00:17:08 25 4
gpt4 key购买 nike

在 Windows for ASP 中,您可以获得它的 perfmon,但是...

如何在 Linux 中为 Apache 获取“每秒请求数”

最佳答案

这是我编写的一个简短的 bash 脚本,用于对请求率进行采样(基于在日志文件上使用 wc -ldicroce's suggestion)。

#!/bin/sh

##############################################################################
# This script will monitor the number of lines in a log file to determine the
# number of requests per second.
#
# Example usage:
# reqs-per-sec -f 15 -i /var/www/http/access.log
#
# Author: Adam Franco
# Date: 2009-12-11
# License: http://www.gnu.org/copyleft/gpl.html GNU General Public License (GPL)
##############################################################################

usage="Usage: `basename $0` -f <frequency in seconds, min 1, default 60> -l <log file>"

# Set up options
while getopts ":l:f:" options; do
case $options in
l ) logFile=$OPTARG;;
f ) frequency=$OPTARG;;
\? ) echo -e $usage
exit 1;;
* ) echo -e $usage
exit 1;;

esac
done

# Test for logFile
if [ ! -n "$logFile" ]
then
echo -e $usage
exit 1
fi

# Test for frequency
if [ ! -n "$frequency" ]
then
frequency=60
fi

# Test that frequency is an integer
if [ $frequency -eq $frequency 2> /dev/null ]
then
:
else
echo -e $usage
exit 3
fi

# Test that frequency is an integer
if [ $frequency -lt 1 ]
then
echo -e $usage
exit 3
fi

if [ ! -e "$logFile" ]
then
echo "$logFile does not exist."
echo
echo -e $usage
exit 2
fi

lastCount=`wc -l $logFile | sed 's/\([0-9]*\).*/\1/'`
while true
do
newCount=`wc -l $logFile | sed 's/\([0-9]*\).*/\1/'`
diff=$(( newCount - lastCount ))
rate=$(echo "$diff / $frequency" |bc -l)
echo $rate
lastCount=$newCount
sleep $frequency
done

关于linux - 如何在 Linux 中为 Apache 获取 "requests per second"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/345546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com