Performance

配置 JMeter 以測試代理服務

  • October 3, 2018

我通過參考以下內容使用芭蕾舞女演員語言開發了代理服務$$ 1 $$$$ 2 $$. 它工作得很好。現在我想通過 JMeter 執行負載測試。也就是說,JMeter 應該以這樣一種方式配置,即對特定資源的 http 請求應該通過代理服務傳遞(在上面提到的1中,它是一個客戶端程序,現在我想通過 JMeter 發送請求)。怎麼做?如何配置 JMeter?

您可以在HTTP 請求採樣器的“高級”選項卡上找到 JMeter 的代理配置,您可以在其中指定主機、埠和憑據

用於 HTTP 請求的 JMeter 代理伺服器

如果您有 > 1 個 HTTP 請求採樣器,您可以使用HTTP 請求預設配置元素在一個地方為它們設置代理,這樣您就可以在 HTTP 請求預設值範圍內為所有 HTTP 請求採樣器設置預設配置,以便將配置應用於相關欄位為空的所有採樣器。

用於 HTTP 請求的 JMeter 代理

您可以為此提供服務,而不是擁有具有主要功能的客戶端。例如,

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 -&gt; forward("/proxy/server", clientRequest);
       match resp {
          error err =&gt; io:println(err.message);
          http:Response response =&gt; {
             match (response.getTextPayload()) {
                error payloadError =&gt; io:println(payloadError.message);
                string res =&gt; {
                   io:println(res);
                   _ = outboundEP-&gt;respond(res);   
                }    
             }
          }
       }
   }
}

在這裡,您有一個綁定到直通服務的偵聽器端點。您可以從 Jmeter 呼叫此直通服務(在 Jmeter 中提供此服務的 URL)。一旦服務被呼叫,它將把請求轉發給代理伺服器。

引用自:https://serverfault.com/questions/933715