Node.js Jmeter web应用程序性能测试质疑?
我是jmeter的新手,对web应用程序性能测试有一些疑问Node.js Jmeter web应用程序性能测试质疑?,node.js,web-applications,jmeter,performance-testing,load-testing,Node.js,Web Applications,Jmeter,Performance Testing,Load Testing,我是jmeter的新手,对web应用程序性能测试有一些疑问 是否需要在jmeter中加载所有嵌入式资源以进行性能测试 我已经编写了一个Jmeter脚本,用于运行所有RESTAPI。这是否足以在服务器端找到应用程序性能 启动时间如何影响性能测试 为了得到准确的性能报告,测试需要执行多长时间 负载生成配置-从连接到应用程序群集的计算机/从不同的LAN生成负载 请了解我对以下问题的看法: 我相信负载测试需要尽可能真实,所以必须表示真实的浏览器行为。真正的浏览器下载嵌入式资源,如脚本、图像和样式,此外,
请了解我对以下问题的看法:
- 下载嵌入式资源
- 为它使用并发池
- 添加到您的测试计划中
我想补充一些观点: 问题1和问题2: 这里也可以应用帕累托原理——这意味着,要正确模拟现实需要付出大量努力,下载浏览器用于呈现页面的所有资源,并为不同URL赋予适当的“权重”,准确模拟用户行为。这是许多负载测试失败的地方,因为准确模拟现实非常非常困难。正如前面的回复所提到的,大多数静态内容通常是通过CDN或类似的方式提供的,您真正想要测试的通常是您自己的系统处理流量的能力 考虑到上述情况,我想说,如果您花费20%的精力建立一个测试RESTAPI的负载测试,您将得到80%的结果。另一方面,如果你去做一个完全真实的测试,你将花费另外80%的努力,只会多得到20%的结果。这样做的效果是,在许多情况下,最好采用更简单的测试,即不能准确模拟现实。它能给你投资的时间带来最大的回报 问题3:完全同意前面的回答。缓慢提升,除非您的特定用例看到非常突然的流量高峰(例如,如果您是在线拍卖服务或门票销售或类似服务)。配置您的测试也是一个好主意,这样它在达到峰值负载后会在“平台”上花费一些时间,而不仅仅是在达到峰值后停止负载测试 问题4:我想说,您需要运行负载测试足够长的时间,以产生稳定的、具有统计意义的结果。这可能是5分钟或5小时,具体取决于您的场景,但在大多数情况下,半小时可能是最短的时间。测试的持续时间不应该取决于你的站点在现实生活中经历峰值负载的时间长短——除非你正在做某种浸泡测试
问题5:流量来源有时值得考虑,因为不同的来源位置会导致(模拟)客户端和服务器之间的网络延迟不同,从而影响交易率。如果在位于纽约的系统上使用1000个VU运行负载测试,并从澳大利亚生成流量,则由于网络延迟较高,每秒不会获得大量事务。如果您在纽约使用load generator运行相同的测试,您的事务处理率将高得多,因为网络延迟要低得多。当然,您始终可以添加更多并发客户端/VU/连接,并在高延迟网络链路上获得与在低延迟链路上相同的事务速率,但代价是强制服务器保持更多(TCP)连接状态,使用更多的文件描述符和缓冲内存。也就是说,这可能不是一个非常现实的场景。我是否需要在两个请求之间添加延迟?模拟负载有两种方法:1。仿效