0

I'm doing simple load test on netty-socketio Java, here when I run the load test I get "Client connected" message but looks like flows are not getting executed (I don't see any message in console after Client Connected) and all requests are getting timed out

Output

errors.Error: timeout: ......................................................... 425
vusers.created: ................................................................ 425
vusers.created_by_name.My sample scenario: ..................................... 425
vusers.failed: ................................................................. 425

loadtest.yml

config:
  target: "ws://localhost:9093"
  ws:
    maxRedirects: 25
  phases:
    - duration: 20
      arrivalRate: 5
      rampTo: 10
      name: "Warming up"
    - duration: 5
      arrivalRate: 10
      rampTo: 100
      name: "Max load"
  engines:
    socketio-v3: { }

scenarios:
  - name: My sample scenario
    engine: socketio-v3
    flow:
      - emit:
          channel: "chat"
          data: "world"

Java

@Component
public class ServerCommandLineRunner implements CommandLineRunner {

  private final SocketIOServer server;

  @Autowired
  public ServerCommandLineRunner(SocketIOServer server) {
    this.server = server;

    server.addConnectListener(new ConnectListener() {
      public void onConnect(SocketIOClient client) {
        System.out.println("Client connected: " + client.getSessionId());
      }
    });

    server.addDisconnectListener(new DisconnectListener() {
      public void onDisconnect(SocketIOClient client) {
        System.out.println("Client disconnected: " + client.getSessionId());
      }
    });

    server.addEventListener("chat", String.class, (client, data, ackRequest) -> {
      System.out.println("Message received: " + data);
      server.getBroadcastOperations().sendEvent("chat", data);
    });
  }

  @Override
  public void run(String... args) throws Exception {
    server.start();
  }
}

While I'am still able to send messages to that websocket with below simple JS code

    <script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
    <script>
        var socket = io.connect('ws://localhost:9093');
        socket.on('connect', function() {
            console.log('Connected to server');
            socket.emit('chat', 'Hello, world!');
        });
        socket.on('chat', function(data) {
            console.log(data);
        });
    </script>
Swastik
  • 144
  • 2
  • 19

0 Answers0