2016-11-28 40 views
-1

我们正在进行Web负载测试,以检查我们的Web API如何在特定的QPS(每秒查询)上执行。Web负载测试,不同客户端线程数之间的差异

我们有一个工具来发送请求到我们的Web API。

我的问题是, 对于给定的QPS,比如说100,客户端线程数和每个线程请求的不同组合,Web API端有什么不同。

例如,

  • 1线程,每秒每线程100个请求
  • 10个线程,每秒10所请求的每个线程
  • 20个线程,每秒每螺纹5名的请求。

Web API服务器端容量的任何区别?

回答

0

从服务器端应该没有区别,但是你的方案可能不适用。我不知道你的“工具”的细节,但通常web API意味着HTTP transport和HTTP是“请求/响应”协议,因此如果你使用1个线程,你将不能发送下一个请求,直到你收到来自服务器的响应。

正常的“良好”习惯是模拟尽可能接近现实的负载,因此您需要模仿Web API的实际使用情况,否则您的负载测试没有意义。因此,我建议重新考虑您的加载模式,以表示真实用户或使用Web API的应用尽可能接近。有关一些见解,请参见Testing SOAP/REST Web Services Using JMeter指南。

0

线程正在模拟一个真实的用户,因此,假设当您设置10个线程时,每个线程每秒10个请求意味着10个用户每秒发出10个请求/秒。

性能工具基本上是模拟用户点击网站,因此每次点击都代表一个请求。

由于每个请求都会使用API​​,这意味着每个请求都会在服务器上产生负载。如果您发现测试运行时请求的时间更长,那么这意味着您正在达到环境容量的限制。如果每秒用户数和请求数很低,那么您需要调整代码和查询以获得尽可能快的响应。一旦你在代码方面尽一切可能,你可能需要一个更强大的服务器,这取决于你的项目需求。

这些测试的目标是确定您的网站是否能够满足所需数量的用户。

+0

欢迎来到StackOverflow并感谢您的帮助。但是,您的回答似乎解释了性能测试工具的用途以及在速度不理想时可能采取的措施。然而,OP询问了分配100个不同线程数的差异。你的答案似乎没有讨论这个具体问题,因此似乎没有真正回答这个问题。 – Yunnosch

相关问题