• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

JMeter performance testing of WebSocket applications

 
Greenhorn
Posts: 12
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator


We use JMeter for testing our webapps and we have had a measure of success with it.
When I migrated to web sockets (Socket.IO), I found that my JMeter scripts would fail
at session setup. Is this problem well known? Is there a well known issue of JMeter session
setup with web sockets?

thanks,

rk
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Royan,

Websockets introduce a technical shift in the way a browser and a server exchange. Indeed WebSocket is a web technology which allows a full-duplex communications channel over a single socket. WebSocket traverses firewalls and routers seamlessly and allows authorized cross-domain communication. A WebSocket connection is established by the client requesting an HTTP Upgrade during the initial negotiation, between the client and server. Once that handshake is successful, the connection is upgraded to bidirectionally stream messages.

I recommend you take a look at NeoLoad 4.2. It's the first load test solution on the market which handles any type of text or binary message stream transported through WebSocket, often used in real-time applications like games and trading systems. Thanks to its visual design, the asynchronous model of the Websockets channels is easy to handle.
More here: http://www.neotys.com/product/technologies-websocket-load-test.html

Feel free to download your 30-day trial.

Hervé from Neotys
 
Greenhorn
Posts: 1
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Here is a plugin for JMeter will will add support for the WebSocket. It currently supports the RFC6455 version of the WebSocket protocol.

Link: 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
 
Ranch Hand
Posts: 49
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
There is a WebSocket Sampler JMeter Plugin which implements Websocket connectivity via Jetty libraries.

See WebSocket Testing With Apache JMeter guide on details.
 
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
@Maciej I tried it out, but can't seem to send binary data. Does it support that. If so, is there a description on how to do that. I searched the wiki on github but could not find an aswers. Thanks
 
Eduardo Perez
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Maciej Zaleski wrote:Here is a plugin for JMeter will will add support for the WebSocket. It currently supports the RFC6455 version of the WebSocket protocol.

Link: 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 I tried it out, but can't seem to send binary data. Does it support that. If so, is there a description on how to do that. I searched the wiki on github but could not find an aswers. Thanks
 
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Here is a JMeter WebSocket plugin that does support binary frames.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
reply
    Bookmark Topic Watch Topic
  • New Topic