0
votes

I have implemented a relay server on top of WebSocket. Sender will send many small binary messages to the server and they are then relayed to all the connected clients.

What I am interested in is the time between sender send the message and the reader receives the message. Right now I have already setup the Test Plan with a thread group of 25 receivers and another group of 1 sender and they can receive and send the message respectively.

The aggregate report is considering the send message and read message as two different labels. How should I configure the Test Plan to record my desired time?

p.s. I am using this jmeter WebSocket sampler plugin
https://bitbucket.org/pjtr/jmeter-websocket-samplers

Thanks in advance.

1

1 Answers

0
votes

The aggregate report is considering the send message and read message as two different labels.

Sure it is, because there are two separate thread groups, according to you.

You need to sync & order the sampler results somehow, so I see two ways here:

1) Write raw sampler results (simple writer, aggregate report & summary report are capable of doing that), then use external tool (say, a table processor, Excel or similar) to process them, do that simple math and show your desired timings.

Or streamline the results to the timeseries DB (e.g. Influx) with Backend Listener and proceed from there - like, do the math and/or visualize (say, with Grafana)

2) Second option seems to be syncing Thread Groups to each other with InterThreadCommunication plugin.

But that seems trickier to me, and what's more, may influence the timing readings (depending on way you do it) so the results got twisted.

Thus I personally would prefer passive metrics readings and post-calculations upon them (which could be turned pretty much "live" too, if you want, with BackendListener+Influx+Grafana bundle, or similar)