聚合數據
應用打壓完成后,需要一些指標來評估壓測結果,常見的指標有:
最大響應時間
平均響應時間
QPS
TP90
TP50
壓測工具采用了 InfluxDB 來完成數據的聚合工作。
以TP90為例子,僅需要一行查詢就能實現需求。
架構
整體而言,整個打壓過程如下:
實踐
拷貝流量
美團內部的服務大多使用Java來構建,VCR以Maven Package的方式提供給用戶。
對用戶來說只需要2行代碼可以拷貝流量。
為了不影響線上服務,通常選取單臺機器進行流量拷貝工作。
一旦流量拷貝完成后,通過Web界面,用戶能夠查看日志的收集情況和單條日志的詳情。
壓測邏輯實現
壓測工具采用Groovy來進行編寫。對每個應用來說,只需要實現runner接口就可以實現對應用的打壓。
以Thrift服務為例:
創建應用
實現以上接口后,就可以對應用進行打壓了。
用戶可以通過Web界面創建應用,除了必填配置以外,用戶可以按照應用靈活配置。
性能指標
用戶可以通過直觀的圖表來查看應用的各種性能指標。
結束語
壓測工具上線以來,已經接入了20多個應用,完成數百次打壓實驗,現在應用的接入時間僅需要15~30分鐘。保證了美團服務的穩定和節省了開發同學的時間,使大家告別了以往繁瑣冗長的打壓測試。
歡迎對這方面有興趣的同學一起討論。
原文轉自:http://www.testwo.com/article/592