nginx tps(transactions per second)監視

TPSは一秒間にそのサーバが処理するトランザクション件数です。
これを少し現実的に変更して(1時間にレストランに来れれるお客様の人数)としてみましょう。

ファイル名
1 #/bin/bash
2
3 #nginx_status_url 手動配置項目
4 NGINX_STATUS_URL="http://127.0.0.1/nginx_status"
5
6 #10sec 最大値
7 MAX=1;
8 MAILLIST="foyon0806@gmail.com"
9
10 send_warning()
11 {
12 echo $MESSAGE | /bin/mail -s “$TITLE" “$MAILLIST"
13 }
14
15 QPS1=`curl -s ${NGINX_STATUS_URL} | awk '/server accepts handled requests/{getline a;split(a,d);print d[length(d)]}’`
16
17 #10sec
18 sleep 10
19
20 QPS2=`curl -s ${NGINX_STATUS_URL} | awk '/server accepts handled requests/{getline a;split(a,d);print d[length(d)]}’`
21 echo $QPS1
22 echo $QPS2
23
24 QPS=`expr $QPS2 – $QPS1`
25 DATA=`date`
26 if [ $QPS -ge $MAX ];then
27 TITLE="[serious]: ${NGINX_STATUS_URL}"
28 MESSAGE="Time:${DATA},${NGINX_STATUS_URL} qps per 10 sec more than ${MAX}"
29 send_warning
30 fi
31 exit
~
~

Source

Posted by arkgame