Performance
配置 JMeter 以測試代理服務
我通過參考以下內容使用芭蕾舞女演員語言開發了代理服務$$ 1 $$和$$ 2 $$. 它工作得很好。現在我想通過 JMeter 執行負載測試。也就是說,JMeter 應該以這樣一種方式配置,即對特定資源的 http 請求應該通過代理服務傳遞(在上面提到的1中,它是一個客戶端程序,現在我想通過 JMeter 發送請求)。怎麼做?如何配置 JMeter?
您可以在HTTP 請求採樣器的“高級”選項卡上找到 JMeter 的代理配置,您可以在其中指定主機、埠和憑據
如果您有 > 1 個 HTTP 請求採樣器,您可以使用HTTP 請求預設配置元素在一個地方為它們設置代理,這樣您就可以在 HTTP 請求預設值範圍內為所有 HTTP 請求採樣器設置預設配置,以便將配置應用於相關欄位為空的所有採樣器。
您可以為此提供服務,而不是擁有具有主要功能的客戶端。例如,
import ballerina/http; import ballerina/io; endpoint http:Listener passthroughEP { port:8243 }; endpoint http:Client clientEP { url:"http://localhost:9218", proxy: { host:"localhost", port:9219 } }; @http:ServiceConfig {basePath:"/services/EchoProxy"} service<http:Service> passthroughService bind passthroughEP { @http:ResourceConfig { methods:["POST"], path:"/" } passthrough(endpoint outboundEP, http:Request clientRequest) { var resp = clientEP -> forward("/proxy/server", clientRequest); match resp { error err => io:println(err.message); http:Response response => { match (response.getTextPayload()) { error payloadError => io:println(payloadError.message); string res => { io:println(res); _ = outboundEP->respond(res); } } } } } }
在這裡,您有一個綁定到直通服務的偵聽器端點。您可以從 Jmeter 呼叫此直通服務(在 Jmeter 中提供此服務的 URL)。一旦服務被呼叫,它將把請求轉發給代理伺服器。