我的任務是爲在Weblogic服務器上運行的Java應用程序之一尋找性能測試解決方案。需求是記錄生產請求(包括POST數據的GET和POST),然後在具有生產數據庫副本的性能測試環境中運行這些請求。使用生產數據測試瓶頸的性能測試應用程序
使用的生產要求,而不是測試腳本的原因是:
- 它與任何現有的測試腳本的大型應用程序,這將是AA大量的工作,寫劇本,以覆蓋整個應用。
- 僅當用戶按特定順序執行多個操作時,纔會顯示一些性能問題。
- 要使用實際的用戶與系統的交互進行測試,而不是估計用戶如何與系統進行交互。我們都知道用戶會做我們沒有想到的事情。
- 我希望能夠解決性能問題,並在發佈到生產之前針對固定代碼重新運行請求。
我已經看過用JMeters Access Log Sampler與服務器的訪問日誌,不過訪問日誌不包含POST數據和訪問日誌採樣只着眼於請求的URL,因此它不能模擬用戶提交表單數據。
我也看過使用JMeter HTTP代理服務器,但是這可以記錄只有一個用戶的行爲,並要求用戶配置他們的瀏覽器使用代理。 Tsung和The Grinder存在同樣的侷限性。
我已經看過使用Wireshark和TCReplay,但在數據包級別的記錄過多,並且不會在請求級別提供任何有用的報告。
考慮到我需要能夠在發佈到生產之前測試修補程序,是否有更好的方法來分析生產性能?
感謝您的回答。我認爲最好的選擇是使用Weblogic servlet過濾器。這使我可以訪問ServletRequest對象,然後我可以取出POST數據和其他細節並將它們寫入日誌。然後,我可以使用日誌數據作爲應用程序的輸入。這會對性能產生影響。幸運的是,它只需要運行一小段時間就可以獲得生產交互的樣本。 – JosephL 2009-11-18 22:29:35