1.可以利用Tomcat的access-log日志,讓其打印出http請求的每次耗時。可以在
config/server.xml里Host標簽下配置tomcat訪問日志格式
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
? ? ? ? ? ? ? ?prefix="localhost_access_log." suffix=".txt"
? ? ? ? ? ? ? ?pattern="%h %l %u %t "%r" [%{postdata}r] %s %{Referer}i %{User-Agent}i %T %b" />
?
2.但這樣只會打印每次的http請求耗時,并沒有統計功能,如記錄每個接口的平均耗時,記錄超時接口,如超過1000ms的接口。
不直觀的acces-log日志:10.118.129.28 4.1.5.24 - - 0.361 [28/Dec/2017:09:24:48 +0800] 361 GET /m/offerItem/queryOfferItemList?reqSystem=ICORE-PAP&idProfitOfferItem=&type=&subType=&name=&status=&pageNum=4&startTime=&endTime=&pageSize=10 HTTP/1.1 200 5468
10.118.129.28 4.1.5.24 - - 0.165 [28/Dec/2017:09:24:59 +0800] 165 GET /docc/giftConfig.jsp?tabId=f432ef47-e139-ec58-d81e-15aa7b348e2a&sysdate=1514424299261_0.5705513903091453 HTTP/1.1 200 16080 10.118.129.28 4.1.5.24 - - 0.005 [28/Dec/2017:09:24:59 +0800] 5 GET /js/giftConfig.js HTTP/1.1 304 - 10.118.129.28 4.1.5.24 - - 0.204 [28/Dec/2017:09:25:01 +0800] 204 GET /m/offer/getOfferList?reqSystem=ICORE-PAP&idProfitOffer=&name=&type=&subType=&status=&pageNum=1&pageSize=10 HTTP/1.1 200 3774
3.寫個shell/python腳本分析這個日志,做好統計功能,頻次每次+1,每次重新計算平均耗時