今天我有一個辯論是更好的基準策略:本地機器vs遠程機器。我想知道關於該主題的其他意見。這是更一般的問題,但在這種情況下,它是一個Java項目。哪個更好的基準策略:本地機器vs遠程機器
測試是關於某些模板引擎的性能如何。 經過30秒的預熱階段後,基準線運行120秒,並有100個線程。
被測頁面有一些靜態和動態部分。像表和列表中的隨機項,但是例如靜態頭(不包括數據庫操作)。
塞納里奧1:
的Web服務器和基準測試工具運行在同一臺機器上。 測試用ab和jmeter進行。
臨參數:
- 生產也將是不理想的系統。
- 其他java進程也可能運行在生產系統上。
- 即使基準測試工具減慢導致平均的結果仍然有效(更好的技術將是對任何變體更好)
精讀參數:
- 在同一臺機器試圖擊敗本身
- 基準減緩真正的性能
塞納里奧2:
遠程機器測試其他系統:
臨參數:
- 一個系統可以嘗試到達其他
- 基準的限制(JMeter的)上不運行同一個JVM
精讀參數:
- 生產系統不會是一個理想的環境
- 網絡可能的結果
首先,我想知道這是更好的方式去減緩。其次,如果某些參數無效。或者最終它甚至不重要。我想知道這兩種變體的其他參數。我希望這個問題不會結束,因爲我認爲這不是一般的。一種選擇必須是更好的選擇。
怎麼樣的地步了更好的技術將是對任何變體比較好? (即使基準測試工具的平均結果放慢,結果仍然有效) – svenhornberg 2015-04-03 18:53:13
是的,所以一般情況下,只要您在版本之間使用相同的方法,您的結果應該是有效的比較。 但是,請記住,如果您正在共享用於測試和目標的硬件,則可能無法達到正確的軟件瓶頸。 此外,當您的結果比客戶在生產中看到的要快得多時,很難將結果轉換爲業務單位,因爲他們會說「但我們的客戶看到3秒鐘!」然後你必須試着解釋你的測試環境比生產快得多,這是我不惜一切代價避免的對話。 – 2015-04-03 18:56:29
那麼爲什麼做遠程測試的開銷,當結果表明相同?這聽起來像變種1應該是選擇(即使我同意你) – svenhornberg 2015-04-03 18:59:03