• Как в node js выполнить одновременно 500 запросов?

    yellow79
    @yellow79
    Senior Software Engineer
    Я бы использовал библиотеку async, там есть много интересного, но именно вам должно помочь это https://caolan.github.io/async/docs.html#times
    Ответ написан
    Комментировать
  • Как выдерживать большую нагрузку на сервер node.js?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Если у Вас уже все написано, то не нужно переписывать, просто добавьте cluster, тут пример: stackoverflow.com/questions/18310635/scaling-socke...
    Но вообще, на будущее, для таких вещей не нужен ни cluster, ни socket.io, они только мешают и не решают ни каких дополнительных проблем, на сервере лучше делать столько процессов, сколько ядер и на каждом открывать отдельный порт, например: 80, 81, 82... Отключать все балансировщики, и программные и аппаратные, не пропускать через nginx и через cluster, это тоже балансировщики, по сути. А выбирать порт рандомно на клиенте. Для такой машинки как ваша при использовании просто обычных Websocket'ов, без всяких библиотек-оберток как на клиенте, так и на сервере, можно держать без проблем до 150.000 соединений.
    Ответ написан
    Комментировать
  • Как работает модуль cluster в nodejs?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js
    Без cluster нода работает на 1 ядре, для масштабирования создаются новые процессы через cluster.fork(); Каждый из процессов может узнать, он главный или дочерний, через cluster.isMaster и cluster.isWorker. Между процессами можно передавать сообщения (события) и сокеты (дескрипторы сокетов). Таким образом, tcp или http сокеты принимаются главным процессом, а на обработку отправляются в один из дочерних. Это в двух словах, подробнее хорошо все написано в доках https://nodejs.org/api/cluster.html
    Ответ написан
    4 комментария