2017-04-26 61 views

回答

2

我相信HTTP Request sampler documentation包含了所有的答案:

HTTP請求

這有一個實現下拉框,選擇HTTP協議實現中使用:

Java 使用JVM提供的HTTP實現。與HttpClient實現相比,這有一些限制 - 參見下文。

HTTPClient3.1 (DEPRECATED SINCE 3.0)使用Apache Commons HttpClient 3.1。這不再被開發,並且在未來的JMeter發行版中將不再支持它。

HTTPClient4 使用Apache HttpComponents HttpClient 4.x.

空白值 不設置實現對HTTP取樣器,所以依賴於HTTP請求默認值(如果存在)或在jmeter.properties定義jmeter.httpsampler財產

Java的HTTP實現有一定的侷限性:

  • 無法控制連接的重用方式。當一個連接被JMeter釋放時,它可能被同一個線程重用或不被重用。

  • 該API最適合單線程使用 - 各種設置通過系統屬性定義,因此適用於所有連接。

  • 通過代理處理HTTPS存在一個錯誤(CONNECT處理不正確)。請參閱Java錯誤6226610和6208335.

  • 它不支持虛擬主機。

  • 它僅支持以下方法:GET,POST,HEAD,OPTIONS,PUT,DELETE和TRACE

  • 它不支持使用密鑰庫配置客戶端基於證書的測試。

所以建議選擇是使用HTTPClient4(你甚至不必HTTPClient3.1自JMeter 3.2)。

JMeter HTTPClient Implementation

HTTPClient4是默認實現,所以你甚至不必理會它。如果由於某種原因,你需要切換到Java - 您可以使用HTTP Request Defaults


LoadRunner的,因爲它是沒有這個選項的做法,在單杆使用引擎蓋下的C語言運行庫和JMeter是基於Java的。

相關問題