天天看點

使用goreplay流量回放實踐

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流量回放實踐

簡單來說就是goreplay抓取線上真實的流量,并将捕捉到的流量轉發到測試伺服器上

when

什麼時候可以試用goreplay?

簡單寫幾點場景,具體還是根據實際需求來。

case 1

上線前在預釋出環境,使用線上真實的請求,檢查是否準備釋出的版本,是否具備釋出标準

case 2

壓力測試完成後,用線上真實的請求,加速後回放至測試環境,檢查是否有報錯等問題

case 3

abtest用線上的流量轉發到預發,檢查相同流量下一些名額的回報情況,檢查核心資料是否有改善、優化等等具體case還需要根據自己的需求,靈活改變。

how

上面大緻說了goreplay是什麼以及什麼場景可以用,下面記錄一下自己的實踐過程。

首先需要線上伺服器root權限,這個需要謹慎使用!!!

1.下載下傳安裝goreplay

參照文檔,這一步很簡單

2.一些常用的指令

實踐一下

捕獲2051端口的請求列印到控制台

隐藏了部分敏感資訊

将請求儲存到本地檔案中

這邊實際上是兩個實踐

第一個:儲存流量到檔案

第二個:抓取置頂url的流量

截圖可以看到生成了一個檔案

使用goreplay流量回放實踐

轉發檔案中流量至測試環境

至測試環境的伺服器上,檢視日志可以到流量已經轉發過來

性能測試

使用goreplay流量回放實踐

将請求以2倍的速度發出去

同時也支援限速

10% 20%等

關于限速還有另一種方法——指定每秒的請求數

使用goreplay流量回放實踐

更多參考官方文檔:https://github.com/buger/goreplay/wiki/getting-started