저는 java maven 프로젝트가 있으며 gatling을 사용하여 mqtt broker의 성능을 테스트 할 수 있기를 원합니다. gatling은 mqtt 프로토콜을 직접 지원하지 않는다는 것을 이해합니다.부하 테스트를 위해 maven 프로젝트에서 gatling-mqtt 플러그인을 어떻게 사용할 수 있습니까?
나는 github에서 gatling-mqtt plugin을 발견했습니다. 내 maven 프로젝트에서이 플러그인을 어떻게 사용할 수 있는지 잘 모르겠습니다. 이것에 대한 기존의 메이븐 플러그인이나 의존성을 찾을 수 없습니다.
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.2.2</version>
</plugin>
<plugin>
<groupId>io.gatling</groupId>
<artifactId>gatling-maven-plugin</artifactId>
<version>2.2.4</version>
<executions>
<execution>
<id>performanceTests</id>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<simulationClass>simulation.Publish</simulationClass>
</configuration>
</execution>
</executions>
</plugin>
나는이 매우 유사한 시뮬레이션을 작성하려고 해요 : :
import io.gatling.core.Predef._
import org.fusesource.mqtt.client.QoS
import scala.concurrent.duration._
import com.github.mnogu.gatling.mqtt.Predef._
class MqttSimulation extends Simulation {
val mqttConf = mqtt
// MQTT broker
.host("tcp://localhost:1883")
val scn = scenario("MQTT Test")
.exec(mqtt("request")
// topic: "foo"
// payload: "Hello"
// QoS: AT_LEAST_ONCE
// retain: false
.publish("foo", "Hello", QoS.AT_LEAST_ONCE, retain = false))
setUp(
scn
.inject(constantUsersPerSec(10) during(90 seconds)))
.protocols(mqttConf)
}
을
나는 다음의 pom.xml에 종속
<dependency>
<groupId>io.gatling.highcharts</groupId>
<artifactId>gatling-charts-highcharts</artifactId>
<version>2.2.5</version>
</dependency>
<dependency>
<groupId>io.gatling</groupId>
<artifactId>gatling-core</artifactId>
<version>2.2.4</version>
</dependency>
<dependency>
<groupId>org.fusesource.mqtt-client</groupId>
<artifactId>mqtt-client</artifactId>
<version>1.12</version>
</dependency>
다음과 같은 플러그인을 추가했습니다
그런 시나리오를 작성하기 위해 mqtt 객체를 사용할 수 없습니다.
내가 얻은 오류는 '찾을 수 없음 : 값 mqtt'
이것을 검토하고 수정할 수 있습니까? https://stackoverflow.com/help/how-to-ask –
https://stackoverflow.com/help/on-topic 및 https : //를 읽어야합니다. stackoverflow.com/help/dont-ask – hardillb
스택 오버플로에 오신 것을 환영합니다! 질문 [편집]하여 [지금까지 가지고있는 코드] (http://whathaveyoutried.com)를 보여주십시오. 문제가있는 코드의 윤곽선 (적어도 선호하는 [mcve])을 포함해야합니다. 그런 다음 특정 문제를 해결할 수 있습니다. 또한 [ask]를 읽어야합니다. –