Load testing Socket.IO servers using msgpack-parser with Gatling

In this post I will show how we can connect with Gatling to a Socket.IO server which uses a custom parser using the MessagePack serialization format. This is the second post about Socket.IO testing with Gatling. In the first post: Load testing Socket IO with Gatling I showed an example of connecting to a Socket.IO server using the default parser which uses text messages. What is MessagePack? MessagePack is a binary serialization format. It has the advantage that payloads are usually smaller especially if they contain many numbers. The disadvantage is that Socket.IO messages serialized with MessagePack are harder to debug in the Network tab of the browser. ...

November 18, 2023 · 7 min · Dimitris Dranidis

Load testing Socket IO with Gatling

This article will hopefully save you some of the trouble I had, when I tried to use Gatling for Socket.IO sockets. Gatling has support for web sockets but one has to do a lot of research and workarounds in order to make it work with Socket.IO sockets. What are Gatling and Socket.IO? Gatling is a powerful load-testing solution for applications, APIs, and microservices (https://gatling.io/). Socket.IO is a library that enables low-latency, bidirectional and event-based communication between a client and a server (https://socket.io/docs/v4/). The Socket.IO connection can be established with different low-level transports and one of them are web sockets. Socket.IO uses the web socket protocol as one of the underlying protocols for bidirectional communication. ...

November 12, 2023 · 25 min · Dimitris Dranidis