|
socket-io и большая комната
|
|||
---|---|---|---|
#18+
Здравствуйте. Может это конечно и норма. Практики с нодой мало. Сварганил небольшой WebSocket сервер на ноде. обрабатывает только коннект и сообщение присоединения к комнате. При отсоединении коннекта делает так Код: javascript 1.
те уведомляет всех в комнате , что соединение отключилось. Ну и есть еще урл, который выдает общее количество соединений. натравил на сервер тест. Он нагоняет 20 тысяч соединений с копейками и потом каждое соединение добавляет к одну и ту же комнату. во время теста по урлу получаю текущее кол-во соединений. Пока количество соединений до 20 тысяч - урл отдает данные бодро. как только переваливает за 20 тысяч - урл перестает отвечать. Опытным путем выяснил, что отвечать он перестает, тк выполняется строчка выше. если ее закомментить - все ок. Понятно, что на каждое отключение сокета он отсылает сообщения все оставшимся. И сначала это количество большое. Когда оставшееся количество подключенных сокетов падает до 8 тысяч урл статистики начинает отвечать. Собственно вопрос. Этот ступор сервера при отключении сокетов и уведомлении об этом других норма? И раз уж сервер при отключении сокетов в моем случае впадает в полный ступор будет ли он новые соединения принимать? ЗЫ. как только начинает отключать сокеты сразу начинает расти потребление памяти. Почти скачком на 400 метров. В самом начале работы сервера отрабатывает сборщик мусора и показывает такую статистику 150 ms: Scavenge 2.3 (3.0) -> 1.9 (4.0) MB, 1.7 / 0.0 ms (average mu = 1.000, current mu = 1.000) allocation failure Потом, когда все отработало, все отключились , через некоторое время показывает такую статистику [1424:0000000000421930] 6274294 ms: Scavenge 57.3 (95.0) -> 56.3 (95.0) MB, 1.0 / 0.0 ms (average mu = 0.997, current mu = 1.000) allocation failure Не особо понятно куда делся памяти полтинник ) вроде как утечек не должно быть. тк код простейший ... |
|||
:
Нравится:
Не нравится:
|
|||
09.08.2020, 17:14 |
|
|
Start [/forum/topic.php?fid=24&tid=1480774]: |
0ms |
get settings: |
31ms |
get forum list: |
10ms |
check forum access: |
9ms |
check topic access: |
9ms |
track hit: |
116ms |
get topic data: |
37ms |
get forum data: |
5ms |
get page messages: |
195ms |
get tp. blocked users: |
3ms |
others: | 145ms |
total: | 560ms |
0 / 0 |