Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.04 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. if [ $# -lt 1 ]
  4. then
  5. echo "Usage: $0 SUB_REQ [COUNT=10] [INTERVAL=1]"
  6. exit 1
  7. fi
  8.  
  9. #date_str=`date -d "-1 minute" +"\[%d/%b/%Y:%H:%M:%S +0800\]"`
  10. date_str=`date -d "-1 minute" +"\[%d/%b/%Y:%H:%M:"`
  11. log_file=`ls /data0/nginx/logs/*_subreq.log 2>/dev/null`
  12. if [ $? -ne 0 ]
  13. then
  14. echo "Error: NO *_subreq.log detected"
  15. exit 1
  16. fi
  17. #log_file=`echo $log_file | tail -1`
  18. log_file=/data0/nginx/logs/mobiletrends.mobile.sina.cn_subreq.log
  19. echo "Detected: $log_file"
  20. sub_req=$1
  21.  
  22. count=10
  23. if [ $# -ge 2 ]
  24. then
  25. count=$2
  26. fi
  27.  
  28. interval=1
  29. if [ $# -ge 3 ]
  30. then
  31. interval=$3
  32. fi
  33.  
  34. i=0
  35. while true
  36. do
  37. i=$((i+1))
  38. tail -20000 $log_file | grep "$sub_req" | awk 'BEGIN{t=0;e=0}{ts[$1]+=1;t+=1;if($8 !~ /\[200\]/){e+=1}}END{max_qps=0;max_qps_k="";count=0;for(k in ts){count+=1;if (max_qps < ts[k]){max_qps=ts[k];max_qps_k=k}} printf("total: %d, error: %d, error rate: %.2f%; mean_qps: %d, max_qps: %d at %s]\n", t, e, e*100/t, t/count, max_qps, max_qps_k);}'
  39. if [ $i -lt $count ]
  40. then
  41. sleep $interval
  42. else
  43. break
  44. fi
  45. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement