java - how - jmeter manual
Solicitudes paralelas de JMeter con eventos enviados por el servidor (2)
Tengo una prueba de JMeter en la que actualmente estoy usando un ciclo para averiguar si alguna condición es verdadera. En lugar de las encuestas, me gustaría (y puedo) utilizar una solicitud en un recurso que envía eventos enviados por el servidor (SSE). La forma en que debería funcionar, es que el subproceso SSE se inicia y que se inicia otro subproceso que hace una solicitud que finalmente causará que se envíe un evento específico. Si se recibe ese evento, el proceso debe continuar.
Tal vez más claro gráficamente. Mi secuencia de comandos actual se ve así:
ThreadGroup
|
+ request 1
+ request 2
...
+ request N
+ Transaction controller
| |
| + While controller
| + polling request
|
+ request N+1
Me gustaría algo como esto
ThreadGroup
|
+ request 1
+ request 2
...
+ <help needed here>
| |
| + event thread
| | + request SSE
| | + onEvent x: y = true
| + action thread
| + request N
| + While y=false wait
+ request N+1
es posible? ¿Si es así, cómo? Si no, ¿puedo crear una muestra para hacer esto? ¿Alguna sugerencia?
Groeten,
Friso
Creo que deberás implementar tu propia clase.
Primero, como cliente de SSE, debe ver esto:
El segundo paso es implementar una muestra personalizada que extenderá esta clase:
- https://jmeter.apache.org/api/org/apache/jmeter/protocol/java/sampler/AbstractJavaSamplerClient.html
Y úsala con esta GUI:
Ahora, para la parte más compleja (tal vez deberíamos crear un proyecto github para discutir esta implementación y una vez que termine de contribuir con el proyecto central JMeter :-)):
- La muestra de SSesampler puede funcionar en 2 modos:
- Bloquea hasta que reciba la respuesta del servidor, de esta forma puedes afirmar en el resultado
- Comience un hilo (mejor utilice un conjunto de hilos o patrón Reactor) para escuchar desde el servidor, una vez que obtiene la respuesta, tenemos que encontrar la manera de que el hilo inicial pueda acceder a esto y afirmar. Podríamos trabajar con un Mapa seguro para subprocesos compartido y donde los datos estarían codificados por algunos datos pasados al SSESampler
Estas son solo ideas iniciales y necesitan más trabajo.
Después de pensar en crear un nuevo plugin sse para jmeter, encontré gatling.io , es compatible con SSE gatling.io