问题描述
我最近用NodeJS编写了一个视频流服务器。
我想通过虚拟化场景检查流的性能
例如,我可以运行一千个curl
命令来获取视频并检查正在运行的nodejs进程的cpu使用率。但是我不知道如何并行运行curl来虚拟化当1000个用户流式传输我的视频时发生的情况。
如果有其他解决方案,请帮助我。我不知道如何检查许多用户的服务器性能。
解决方法
您可以使用GNU parallel启动1000个同时执行curl命令,但是我认为这不是进行适当的负载测试的最佳方法,因为您没有任何可以分析和关联的性能指标
发送1000个请求也是spike test的一个很好的例子,而“经典”负载测试将是:
- 从1个线程(虚拟用户)开始
- 逐渐将负载增加到1000(或应用程序的预期用户数)
- 将负载保持一定时间
- 逐渐将负载降低到0
这样,您就可以将增加的负载与增加的吞吐量(每秒请求数),响应时间,错误率相关联,查看负载减少时应用程序是否恢复正常,是否memory leaks等
因此,我建议您使用dedicated load testing tool,它可以定义灵活的工作负载方案,并输出漂亮的表格和图表,使您可以执行测试结果分析