Назад | Перейти на главную страницу

Настройте JMeter для тестирования прокси-службы

Я разработал прокси-сервис на языке балерины, сославшись на следующие [1] и [2]. Работает отлично. Теперь я хочу запустить нагрузочный тест через JMeter. То есть JMeter должен быть настроен таким образом, чтобы HTTP-запрос к конкретному ресурсу проходил через прокси-службу (в 1 упомянутое выше, это клиентская программа, и теперь я хочу отправить запрос через JMeter). Как это сделать? Как настроить 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 -> 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 (укажите URL-адрес этой службы в Jmeter). Как только служба будет вызвана, она перешлет запрос на прокси-сервер.

Кроме того, вы можете запустить proxy_server.bal который вы называете 2 и настройте JMeter для отправки запросов через прокси-сервер следующим образом.

jmeter -H my.proxy.server -P 8000 -u username -a password -N localhost

Пожалуйста, обратитесь этот для получения дополнительной информации о конфигурации JMeter.

Вы можете найти конфигурацию прокси для JMeter на вкладке «Дополнительно» HTTP-запрос сэмплер, где вы можете указать хост, порт и учетные данные

Если у вас> 1 пробоотборник HTTP-запросов, вы можете установить прокси для всех в одном месте, используя Параметры HTTP-запроса по умолчанию элемент конфигурации, таким образом вы можете настроить дефолт конфигурация для всех сэмплеров HTTP-запросов в HTTP-запросах по умолчанию объем поэтому конфигурация будет применена ко всем семплерам, где соответствующие поля пусты.

Сначала превратите свою основную программу в службу HTTP. Чтобы добиться поведения прокси, используйте forward действие клиента для перенаправления входящего запроса в серверную службу. Затем вы можете выполнить нагрузочный тест, вызвав ресурс через Запрос JMeter.

Ответы предоставлены обоими ldclakmal и Дмитри Т подразумевает то же самое и решил мою проблему.