Тест саранчовой нагрузки для Socket.io, реализованный в Restify API, вызывает значительное замедление - PullRequest
0 голосов
/ 13 июня 2018

Я выполняю нагрузочный тест Locust для 100 пользователей со скоростью штриховки 1 в секунду на сервере Socket.io, который я настроил в API Restify Node.js.Это вызывает значительное замедление, и API становится недоступным.API предоставляет один порт и разворачивается на рое Docker с Traefik.

Когда я запускаю API локально с или без нагрузочного теста, соединения и сообщения Socket.io работают нормально.Что может быть причиной замедления?

Настройка сервера Socket.io в Restify API:

import * as restify from 'restify';
import { Server, Request, Response } from 'restify';
import * as socketIo from 'socket.io';
import { SocketService } from './services/socket.service';
const redisAdapter: any = require('socket.io-redis');

export const server: Server = restify.createServer({
  name: '...',
  socketio: true
});

server.listen(config.port);

const socketServer: socketIo.Server = socketIo.listen(server.server);
const socketService: SocketService = new SocketService(socketServer);
socketServer.adapter(redisAdapter({ host: config.redisHost, port: config.redisPort }));
...