13

I'm trying to stress test my WebSocket server using Jmeter's plugin (jmeter-websocket). The thing is that the plugin comes with no documentation how to work with it and thus I'm not sure if my expectations of it is supported or not.

I managed to run a sample test using the mentioned plugin and it was successfully connected to server. It also managed to communicate with server but once it was done receiving the first response it disconnected. I was hoping to configure this plugin in a way so it will maintain a persistent connection with WebSocket server for several minutes, sending and receiving a couple of messages before it is disconnected.

By stress testing I would like to see how the number of concurrent connections affect my application's behavior. Is this plugin suitable for my needs? If it is then how should I work with it?

Mehran
  • 15,593
  • 27
  • 122
  • 221
  • Have you found out how to do this? I'm also trying to keep the WebSocket open – Tsume Oct 13 '13 at 19:16
  • 1
    Unfortunately, no. As you can see no response is given yet (to be honest I don't think there will ever be one). – Mehran Oct 14 '13 at 05:00
  • That is rather unfortunate. Did you end up using another benchmarking tool? I need one which can not only utilize WebSockets but send JSON messages – Tsume Oct 15 '13 at 20:17
  • Once I find a solution around this problem (one way or another) I will post it here but unfortunately I haven't yet. The only thing I can add to you comment is that sending JSON messages is rather simple (since they are but simple text sent as in POST), so your only concern should be stress testing WebSockets. – Mehran Oct 16 '13 at 05:19

2 Answers2

10

I had exactly the same problem. the plugin you have mentioned worked only for a HTTP-like request/response but I couldn't use it for a "long" connection.

Have a look at this http://github.com/maciejzaleski/JMeter

Features:

  • Supports HTTS/HTTPS (ws/wss) version of the WebSocket protocol
  • Option to ignore SSL certificate errors
  • Streaming allows for a single connection to remain open for the duration of the test
  • Response has to match predefined regular expression
  • Response timeout
  • Response message backlog (build the Sampler response from multiple server messages)
  • Connection could be closed if server sends a message matching predefined regular expression
Maciej Zaleski
  • 441
  • 6
  • 7
7

As of November 2017, the best Websocket Sampler for Apache JMeter is this 3rd party plugin:

It can easily be installed through jmeter-plugins plugin manager.

UBIK LOAD PACK
  • 33,980
  • 5
  • 71
  • 116