Настройте JMeter для проверки прокси-службы
Я разработал прокси-сервис с использованием языка балерины, ссылаясь на следующие [1] и [2]. Работает отлично. Теперь я хочу запустить нагрузочный тест через JMeter. То есть JMeter должен быть настроен таким образом, чтобы HTTP-запрос к конкретному ресурсу передавался через прокси-службу (в 1, упомянутом выше, это клиентская программа, и теперь я хочу отправить запрос через JMeter). Как это сделать? Как настроить JMeter?
5 ответов
Конфигурацию прокси-сервера для JMeter можно найти на вкладке "Дополнительно" в образце HTTP-запроса, где можно указать хост, порт и учетные данные.
Если у вас> 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 (укажите URL этого сервиса в Jmeter). Как только служба вызвана, она направит запрос на прокси-сервер.
Кроме того, вы можете запустить proxy_server.bal, который вы называете 2, и настроить JMeter для отправки запросов через Proxy Server следующим образом.
jmeter -H my.proxy.server -P 8000 -u username -a password -N localhost
Пожалуйста, обратитесь к этому для получения дополнительной информации о конфигурации JMeter.
Превратите свою основную программу в службу HTTP. Для достижения поведения прокси используйте forward
действие клиента для перенаправления входящего запроса в бэкэнд-сервис. Затем вы можете выполнить нагрузочный тест, вызвав ресурс через запрос JMeter.