Need help trying to figure out if Gatling would work with our use case

Hi!
First of all I just want to say congratulations on Gatling, I can’t say I’ve ever been excited by looking at load test software, but this definitely has!

I’m trying to figure out if Gatling would work with the following use case (assuming we add the missing features (ex: Tcp support), which we would be ready to do):

  • Make a “/handshake” request on a load balancer, one of the servers responds with a unique token and its Ip address.
  • Connect (via Tcp) to the server directly on the received Ip address.
  • Make requests to the server and handle the response (using checks), add stuff to user’s session, etc
  • Handle messages sent by the server without having made a request (notifications).
    As you mentioned in Issue 1761 on Github, the biggest challenge of supporting Tcp would be designing the DSL to have something clear and usable while allowing users to use their own communication protocols over the basic Tcp functionality.

Also, even if having multiple protocols in the same test run is not possible, could we bypass this by having a scenario that does the handshakes first and outputs the results in either Redis or a CSV file and then using these informations in a second scenario with a feeder?

Anyway thanks for your help! (I also speak French if anything wasn’t clear :P)

Salut,

Except for the fact that TCP isn’t officially supported, yes, this is completely feasible.
ASAIF, several people working in Telecommunications have successfully used Gatling for such complex use cases over TCP or UDP. But as expected, they never open sourced as their protocols are not public.

Depending on your use case, you might have to store a TCP connection in each virtual user session, just like we do for WebSockets.

If you need help with such custom stuff and are looking for consulting, feel free to get in touch at contact@gatling.io.

A+

Perfect, thanks!