Size: a a a

Node.js — русскоговорящее сообщество

2021 June 10

KK

Kolya Kornilov in Node.js — русскоговорящее сообщество
Это из доков кстати
источник

KK

Kolya Kornilov in Node.js — русскоговорящее сообщество
Возможно тебе пул и не нужен, просто надо подробнее профилировать твой алгоритм как минимум
источник

KK

Kolya Kornilov in Node.js — русскоговорящее сообщество
Сколько ему нужно памяти, сколько времени занимает его выполнение
источник

KK

Kolya Kornilov in Node.js — русскоговорящее сообщество
Из этого уже будет понятно, нужен ли пул допустим
источник

N

Nikita in Node.js — русскоговорящее сообщество
тогда еще последний вопрос - как лучше всего запрофайлить этот "cpu-heavy" код? есть ли какой то инстурмент который может показать визуально какие именно участки кода больше всего потребяют процессорного времени))? подойдет ли дефолтный встроенный профайлер в ноду, если он есть?
источник

KK

Kolya Kornilov in Node.js — русскоговорящее сообщество
Можно через девтулзы хрома открыть профайлер, который подключен к ноде
источник

KK

Kolya Kornilov in Node.js — русскоговорящее сообщество
Для этого надо запустить приложение в дебаг-режиме
источник

N

Nikita in Node.js — русскоговорящее сообщество
а если оно на продакшн сервере?)) там нагрузка в основном такая, вебхуки туда приходят
источник

KK

Kolya Kornilov in Node.js — русскоговорящее сообщество
И там можно например записывать снапшоты памяти, которые потом изучать
источник

KK

Kolya Kornilov in Node.js — русскоговорящее сообщество
Сударь, вы знаете толк в извращениях
источник

KK

Kolya Kornilov in Node.js — русскоговорящее сообщество
Запустить продакшен в дебаг-режиме)
источник

KK

Kolya Kornilov in Node.js — русскоговорящее сообщество
Но я думаю, что тут проблема не в памяти будет сначала, поэтому можно локально просто через performance.now измерить хотя бы то, сколько занимает выполнение алгоритма при разном размере данных
источник

KK

Kolya Kornilov in Node.js — русскоговорящее сообщество
Потестить алгоритм локально в синтетических условиях будет проще (если ботлнек реально в нем), потому что можно будет смотреть, как он себя с разными данными ведет, а не ждать, пока юзер что-то сделает)
источник

KK

Kolya Kornilov in Node.js — русскоговорящее сообщество
Либо как следующий этап можно поставить уже на прод какой-то модуль для трейсинга производительности, но если прод и так себя не очень чувствует, то с ним будет только хуже
источник

N

Nikita in Node.js — русскоговорящее сообщество
понял спасибо)
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
У вас уже есть очередь,  почему не хотите создать отдельный процесс/сервис для обработки этих данных, чтобы не притормаживал API?
источник

N

Nikita in Node.js — русскоговорящее сообщество
можно, просто когда изначально делал реализацию этого дела не хотел дробить монолит, быстрее было прямо в нем реализовать

но да, идея тоже хорошая разбить это
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
Чтобы не отказываться от монолита, в том же репозитории отдельный worker.js, запускается как отдельный процесс, но имеет доступ к существующему коду
источник

N

Nikita in Node.js — русскоговорящее сообщество
++
источник

DM

Desmond Miles in Node.js — русскоговорящее сообщество
Привет всем, в общем проблема такая:
Бот на vk-io, ловит событие новго сообщения на человека, который не писал вообще в чате.
Почему так?
источник