Как проверить производительность загрузки файла в nodejs

#node.js #performance #curl #streaming #performance-testing

#node.js #Производительность #curl #потоковая передача #тестирование производительности

Вопрос:

Недавно я написал сервер потоковой передачи видео с помощью NodeJS. Я хочу проверить производительность потоковой передачи с помощью сценария виртуализации, например, я могу запустить тысячу curl команд для извлечения видео и проверить загрузку процессора запущенным процессом nodejs. но я не знаю, как запустить curl параллельно для виртуализации того, что произошло, когда 1000 пользователей транслировали мои видео.

помогите мне, если у вас есть другое решение для этого. Я не знаю, как проверить производительность моего сервера для многих пользователей.

Комментарии:

1. Я бы посоветовал изучить autocannon , поскольку каждый поддельный пользователь должен открывать сокет для вашего сервера

Ответ №1:

Вы можете запустить 1000 одновременных команд curl, используя, например, GNU parallel, однако я не думаю, что это лучший способ провести надлежащий нагрузочный тест, потому что у вас не будет никаких показателей производительности, которые можно проанализировать и сопоставить

Также отправка 1000 запросов является хорошим примером теста на скачок, в то время как «классический» нагрузочный тест был бы:

  1. Начиная с 1 потока (виртуальный пользователь)
  2. Постепенное увеличение загрузки до 1000 (или любого другого ожидаемого количества пользователей вашего приложения)
  3. Удержание загрузки в течение определенного периода времени
  4. Постепенное снижение загрузки до 0

Таким образом, вы сможете соотнести возрастающую нагрузку с увеличением пропускной способности (количество запросов в секунду), время отклика, частоту ошибок, посмотреть, возвращается ли приложение в нормальное состояние при уменьшении нагрузки, есть ли утечки памяти и т.д.

Поэтому я бы рекомендовал использовать специальный инструмент нагрузочного тестирования, который предоставляет возможность определять гибкие сценарии рабочей нагрузки и выводит красивые таблицы и диаграммы, позволяющие выполнять анализ результатов тестирования