Use of Gatling to test over a stateful protocol

We have a use-case where we would like to performance test a system that exposes an interface through a stateful low-level TCP-based protocol.

The protocol is stateful in the sense that for each simulated user, you first have to do some handshaking and then the connection is kept open during a long period of time, i.e subsequent requests from a user go over the same connection.

The reason we want to use Gatling is that we like the DSL and the reporting mechanism. However, we have some initial concerns about the viability of using Gatling for this type of stateful connection.

Is Gatling a good fit for this kind of testing that requires a stateful connection?

I know this is really hard to answer without knowing the details on the protocol, but assuming that the protocol is straightforward to use through a Java library; how much work would it be to extend Gatlings ActionBuilder and add a simple DSL on top it?

Sincerely
/Odin

Hey,

Well, WebSocket support is exactly that: each virtual user has it’s own WebSocket stored in its Session.

how much work would it be to extend Gatlings ActionBuilder and add a simple DSL on top it?

Depends on how familiar you’re with Scala and Gatling internals: from “a few days” to “out of your league” :slight_smile: