我正在研究性能测试并想问为什么缓慢上升然后在最大负载下运行然后缓慢下降被认为是更好的范例。并且测试团队花费大量时间来实现相同的完美图表。尽管它完全是主观的,但与一次启动所有线程相比,为什么总是首选这种方法。
问问题
389 次
1 回答
2
一次启动所有线程(或者更准确地说,瞬间从零流量变为最大流量)将“震惊”目标系统,并可能使某些 Web 加速功能无用。例如,如果所有客户端同时启动,则服务器端和客户端的缓存最初可能不会发生。如果你慢慢增加,缓存能够填充,一旦你达到最大流量/VU,缓存未命中可能很少见。
应用程序还需要增加它们用于服务更多客户端的资源量——分配内存、文件描述符等——如果你立即从 0 到 1,000,000 个客户端,服务器端将有很多即时资源分配来做,而如果你慢慢上坡,资源分配不会有问题。
如果您正在运行某种自动缩放,这当然也是一个问题 - 不切实际的快速启动时间将使自动缩放难以跟上,从而导致目标系统出现问题,它不会在真实的情况下体验。
在某些情况下,从 0 到最大 VU/流量确实是有意义的,那就是当您期望这种事情发生在您的网站上时。您可能正在测试自己抵御拒绝服务攻击的能力,或者您可能运行的网站流量非常突发(例如,在线拍卖网站或在特定时间发布热门活动门票的活动网站) )。
于 2015-05-29T15:15:22.297 回答