Ответы пользователя по тегу JSON
  • Node js + JSON + WBGL PIXI При 20 - подключений, игра начинает тормозить почему?

    IvanBlacky
    @IvanBlacky
    back-end разработчик
    Для того, чтобы понять где проблема, нужно определиться со значением слова "тормозит".
    Предположим, проблема в скорости передачи\получения данных с клиента на сервер. Тогда нужно выяснить, какая именно характеристика и на какой стороне влияет. Из вашего описания понятно, что, скорее всего, проблема на стороне сервера, так как на скорость влияет количество подключений (но это не точно).
    Теперь нужно определится, с каким параметром мы работаем. Глобально, проблема может быть в 3 местах:
    1. Нагрузка на ЦПУ
    2. Занимаемый объем памяти
    3. Нагрузка на сеть.
    Первым делом, я бы отсек 3 пункт. Проверьте, насколько при увеличении числа игроков увеличивается объем данных, который передается по сети. Если объем значительно растет и размеры исчисляются в мегабайтах, то это является проблемой. Если нет, то двигаемся дальше.
    Если вы используете на серверной стороне какие-либо сторонние сервисы (БД, API и т.п.), то проверьте, насколько увеличивается среднее время ответа в зависимости от числа пользователей в сессии. Если время увеличивается значительно, то проблема там. Если нет, то двигаемся дальше.
    Мы выяснили, что проблема с нагрузкой на процессор\память присутсвует на сервере локально. Теперь требуется выполнить профилирование Node.js и выяснить, какой участок вызывает такие нагрузки и уже только потом оптимизировать.
    До бинарных протоколов далеко, и не факт что они понадобятся. Ну, и убедитесь, что с количеством игроков в сессии нет критического роста нагрузки на локальные машины пользователей.
    Ответ написан
    Комментировать