背景:线上有一个推荐服务,日志量比较大,想确认下是不是qps过高

[8708-10   666 INFO ] [async task worker[62]] recommend.components.KeywordService[87] - cateid=42205 
14:51:44 [8708-10 
可以通过这个“请求时间”估算出服务的qps (1)先找一条使得一个请求有且只有一行的日志, ,这里介绍一下cut(大家到linux上去man一下)
    这个例子中,按照“空格”分隔后,时间在第二列
    14:51:44
    14:51:46
,参数是-c
故,整个shell命令是:
tail -f XXX.log | grep recommend.components.KeywordService | cut -d' ' -f2 | cut -d':' -f3 | uniq -c
    136      126 44
    132 47
43     44,有126条日志
结论,这个模块,单机的qps在120-130左右

需要注意的是,cut的目的是将请求日志时间戳中的“秒”取出来,所以随着请求日志格式的不同,cut的写法也要随机应变~