what
關于goreplay
首先什麼是goreplay?
參照官方介紹
goreplay is the simplest and safest way to test your app using real traffic before you put it into production.
goreplay提供了重用現有流量進行測試的簡單想法。
大緻工作流程如下:
簡單來說就是goreplay抓取線上真實的流量,并将捕捉到的流量轉發到測試伺服器上
when
什麼時候可以試用goreplay?
簡單寫幾點場景,具體還是根據實際需求來。
case 1
上線前在預釋出環境,使用線上真實的請求,檢查是否準備釋出的版本,是否具備釋出标準
case 2
壓力測試完成後,用線上真實的請求,加速後回放至測試環境,檢查是否有報錯等問題
case 3
abtest用線上的流量轉發到預發,檢查相同流量下一些名額的回報情況,檢查核心資料是否有改善、優化等等具體case還需要根據自己的需求,靈活改變。
how
上面大緻說了goreplay是什麼以及什麼場景可以用,下面記錄一下自己的實踐過程。
首先需要線上伺服器root權限,這個需要謹慎使用!!!
1.下載下傳安裝goreplay
參照文檔,這一步很簡單
2.一些常用的指令
實踐一下
捕獲2051端口的請求列印到控制台
隐藏了部分敏感資訊
将請求儲存到本地檔案中
這邊實際上是兩個實踐
第一個:儲存流量到檔案
第二個:抓取置頂url的流量
截圖可以看到生成了一個檔案
轉發檔案中流量至測試環境
至測試環境的伺服器上,檢視日志可以到流量已經轉發過來
性能測試
将請求以2倍的速度發出去
同時也支援限速
10% 20%等
關于限速還有另一種方法——指定每秒的請求數
更多參考官方文檔:https://github.com/buger/goreplay/wiki/getting-started