我目前做的性能和複雜的多層次的系統研究的不同變化的影響的負載測試,但我有藏在心裏的跟蹤問題:如何跟蹤性能測試
- 有不同的組件
- Orignally釋放組件
- 正式發佈的修補程序
- 組件是我的許多副本已經建立含有其它附加修復
- 裝配體,我已經含有額外的診斷日誌記錄或跟蹤構建
- 有許多數據庫補丁,上述某些組件的依賴於某些數據庫補丁施加
- 存在許多不同的日誌記錄級別,在不同的層次(應用程序日誌記錄,應用程序性能統計,SQL服務器分析)
- 有許多不同的情況,有時僅測試1個場景很有用,其他時間我需要測試不同場景的組合。
- 負載可以在多臺機器或僅單個機器
- 存在於數據庫中的數據被分割可以與從拍攝數據稍後更改,例如某些測試可能與所生成的數據來完成,然後現場系統。
- 有每個測試後收集潛在的性能數據的巨量,例如:
- 許多不同類型的應用程序特定的日誌記錄
- SQL事件探查器跟蹤
- 事件日誌
- DMV
- Perfmon計數器
- 數據庫有幾個千兆位的大小因此,如果我將使用備份恢復到以前的狀態,我傾向於在最後一次測試後對所存在的任何數據庫應用更改,這使我很快無法跟蹤事情。
我收集了儘可能多的有關每次測試的信息(測試場景,哪些補丁應用了數據庫中的數據),但由於結果不一致,我仍然發現自己必須重複測試。例如,我只是做了一個測試,我認爲它與我幾個月前運行的測試完全相同,但是數據庫中有更新的數據。我知道一個事實,即新數據應該會導致性能下降,但結果卻顯示出相反的結果!
與此同時,我發現自己在分配這些所有這些細節的時間數量不成比例。
我考慮的一件事是使用腳本來自動收集性能數據等,但我不確定這是一個好主意 - 不僅是花時間開發腳本而不是測試,但是我的錯誤腳本可能會導致我更快地追蹤事物。
我對如何更好地管理測試環境提出了一些建議/提示,尤其是如何在收集所有東西之間取得平衡並實際完成一些測試,以避免丟失重要的東西?