Performance Web负载测试,不同客户端线程数之间的差异

Performance Web负载测试,不同客户端线程数之间的差异,performance,load-testing,web-testing,Performance,Load Testing,Web Testing,我们正在进行web负载测试,以检查我们的web API在特定QPS(每秒查询)上的性能 我们有一个工具可以向我们的web API发送请求 我的问题是,, 对于一个给定的QP,比如100,每个线程的客户端线程数和请求数的不同组合,Web API端的区别是什么 例如: 1个线程,每个线程每秒100个请求 10个线程,每个线程每秒10个请求 20个线程,每个线程每秒5个请求 web API服务器端的容量是否有差异?与服务器端的容量应该没有差异,但您的场景可能不适用。我不知道您的“工具”详细信息,但

我们正在进行web负载测试,以检查我们的web API在特定QPS(每秒查询)上的性能

我们有一个工具可以向我们的web API发送请求

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

例如:

  • 1个线程,每个线程每秒100个请求
  • 10个线程,每个线程每秒10个请求
  • 20个线程,每个线程每秒5个请求

web API服务器端的容量是否有差异?

与服务器端的容量应该没有差异,但您的场景可能不适用。我不知道您的“工具”详细信息,但通常web API意味着,HTTP是“请求/响应”协议,因此如果您使用1个线程,则在收到服务器的响应之前,您将无法发送下一个请求


正常的“良好”实践是尽可能地模拟负载,因此您需要模拟web API的实际使用情况,否则您的负载测试没有意义。因此,我建议重新考虑您的加载模式,以尽可能接近真实用户或使用web API的应用程序。有关一些见解,请参阅指南

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

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

由于每个请求都将使用API,这意味着每个请求都将在服务器上生成负载。如果您注意到测试运行时请求花费的时间更长,那么这意味着您正在达到环境容量的极限。如果每秒的用户数和请求数较低,则需要调整代码和查询以获得尽可能快的响应。一旦您在代码方面做了一切可能的事情,您可能需要根据项目的需求获得一个更强大的服务器


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

欢迎使用StackOverflow,感谢您的帮助。然而,您的回答似乎解释了性能测试工具的目的以及在速度不令人满意的情况下可能采取的措施。然而,OP询问将100个QP分配给不同数量的线程的区别。你的回答似乎没有讨论这一点,因此似乎没有真正回答这个问题。