我们正在进行网络负载测试,以检查我们的网络API如何在特定的QPS(每秒查询数)上执行。
我们有一个向Web API发送请求的工具。
我的问题是, 对于给定的QPS,比如100,每个线程的客户端线程数和请求数的组合不同,Web API方面的区别是什么。
如,
Web API服务器端的容量有何不同?
答案 0 :(得分:0)
从服务器端来看,它应该没有区别,但是您的方案可能不适用。我不知道你的“工具”细节,但通常web API意味着HTTP transport而HTTP是“请求/响应”协议,所以如果你使用1个线程,你将无法发送下一个请求,直到你收到来自服务器的响应。
正常的“好”练习是尽可能模拟负载,因此您需要模仿Web API的实际使用情况,否则您的负载测试没有意义。因此,我建议您重新考虑您的加载模式,以表示尽可能使用Web API的真实用户或应用程序。有关一些见解,请参阅Testing SOAP/REST Web Services Using JMeter指南。
答案 1 :(得分:0)
线程正在模拟真实用户,所以,让我们说当你设置10个线程时,每个线程每秒10个请求意味着10个用户每秒发出10个请求。
性能工具基本上模拟用户在网站上点击,因此每次点击都代表一个请求。
由于每个请求都将使用API,这意味着每个请求都会在服务器上生成负载。如果您发现测试运行时请求的耗时较长,那么这意味着您已达到环境容量的限制。如果每秒的用户数和请求数很少,那么您需要调整代码和查询以获得最快的响应。一旦您在代码方面尽一切可能,您可能需要根据项目的要求获得更强大的服务器。
这些测试的目标是确定您的网站是否能够为所需数量的用户提供服务。