Performance-Monitoring

如何通過分析 apache 日誌來測量 req/sec

  • October 23, 2020

我想測量生產環境的合理壓力測試結果。

如何通過分析 apache 日誌來測量 req/sec?

apache2.2

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %D" combined

我可以使用 %t 和 %D 參數嗎?

您可以實時使用mod_status。您還可以計算給定時間段內 access.log 中的行數,並從中計算出比率。像這樣的東西

#!/bin/bash
LOGFILE=/var/log/apache2/access.log
STATFILE=/var/tmp/apachestats
START=$(wc -l "$LOGFILE" | awk '{print $1}')
PERIOD=10
PRECISION=2
sleep "$PERIOD"
while true
do
   HITSPERSECOND=0
   HITS=$(wc -l "$LOGFILE" | awk '{print $1}')
   NEWHITS=$(( HITS - START ))
   if [[ "$NEWHITS" > 0 ]]
   then
       START=$HITS
       HITSPERSECOND=$(echo -e "scale=$PRECISION\n$NEWHITS / $PERIOD" | bc -l )
   fi
   echo "$(date) rate was $HITSPERSECOND" >>"$STATFILE"
   sleep "$PERIOD"
done

引用自:https://serverfault.com/questions/226982