在 Apache Jmeter 的帮助下,我们可以测试我们的 Web 服务、应用程序等。我的目标是设置服务器可以响应它们的最大连接数。在 apache Jmeter 我创建了Thread Group然后在Sampler添加了Http Request并添加 Table 以查看结果。我的负责人告诉我,服务器最多可以容纳 15-20 个用户。所以我设置了 20 个线程并设置了永久循环,我惊讶地看到结果表,服务器响应所有包都已发送,没有发生错误。与 100 连接相同。但是后来我添加了 300 个连接并再次开始测试它,我在表中看到开始出现 16 个采样器错误(所以这意味着该站点正在崩溃,对吗?)但是为什么当我设置 20 个线程时它不会崩溃?也许原因是所有http请求都没有花费相同的时间?如何确定峰值?
问问题
2409 次
1 回答
0
我猜你的线程正在做一些非常短的事情,所以如果有 16 个以上的并发线程,你会收到错误。
当您只使用 20 个线程时,您可能会遇到一些测试已经完成工作而其他测试尚未开始的情况。
有一些技术可以控制行为。
- 增加线程组中的循环数(或将您的逻辑放在Loop Controller下)并使用 Ramp-Up Period 来模拟增加的负载。
- 使用同步计时器来确保给定数量的线程将在同一时刻被触发
- 使用恒定吞吐量计时器为您的站点设置精确的负载(每秒请求数)。
于 2013-12-18T08:11:28.110 回答