Load-Testing

存在時序問題時如何重放訪問日誌?

  • August 6, 2011

我想重放 IIS 或 Tomcat 訪問日誌來進行負載測試。訪問日誌僅包含 Get 請求,因此會話數據/發布數據在這裡不是問題。但是,預設 IIS 和 Tomcat 日誌中存在兩個計時問題

  1. 訪問日誌“時間”條目的解析度為 1 秒,例如“06/Aug/2011:17:51:52 +0800”。因此,當 1 秒內的請求進入未知時,可以是突發的,也可以是均勻的。響應時間會有所不同,但不知道有多少不同。
  2. 訪問日誌“時間”條目記錄的是請求完成時間而不是請求到達時間。請參閱Tomcat 時間IIS 日誌時間。如果存在“time-taken”欄位,我們可以從“time”中提取“time-taken”來獲取到達時間,但真正的問題是“time-taken”預設不記錄。在我看來,我們解決這個問題的唯一方法就是試圖說服客戶打開“time-taken”。

這兩個問題都可以通過修改預設記錄器來解決,但這是不得已而為之。是否有任何解決方法或技巧來測量或計算正確的“時間”,以便將其用於負載測試。

不,您無法生成比您測量的數據更準確的數據。您可以嘗試模擬接近您想要的東西(例如假設均勻分佈,或者只是在第二個開始時將其全部傾倒),但最好的方法是改進您的測量。您可以通過數據包擷取在帶外進行,無需修改您的應用程序(這也解決了“完成時記錄”問題);您只需使用 HTTP 請求和(按毫秒)時間戳擷取數據包並將它們寫在某個地方。

引用自:https://serverfault.com/questions/298317