我需要对 Web 服务进行负载测试。它需要至少 1000 个并发用户。
我知道一些测试工具(例如 JMeter)可以模拟一堆具有多线程的并发用户。但是这些用户并不是真正并发的。
如果我在只有 2 个 CPU 内核的机器上运行 JMeter 程序,即使有 1000 个使用测试工具生成的多个线程,一次也只有 2 个并发用户处于活动状态。
有没有办法创建真正的并发用户?
我需要对 Web 服务进行负载测试。它需要至少 1000 个并发用户。
我知道一些测试工具(例如 JMeter)可以模拟一堆具有多线程的并发用户。但是这些用户并不是真正并发的。
如果我在只有 2 个 CPU 内核的机器上运行 JMeter 程序,即使有 1000 个使用测试工具生成的多个线程,一次也只有 2 个并发用户处于活动状态。
有没有办法创建真正的并发用户?
从 Web 服务的角度来看,这些用户是并发的。具有两个内核的 CPU 可以轻松地在 1000 个线程之间进行交换;大多数时候,线程将等待网络 I/O,因此它与实际拥有 1000 个内核时的工作方式非常相似。
所以JMeter应该没问题。如果测试线程必须执行大量 CPU 密集型工作,那么这可能会使结果产生偏差。但通常,测试线程只是在等待响应。
您可以在阅读有关并发用户的常见问题解答后尝试 *nix 工具Siege。
您还可以查看Tsung,它也使用 HTTP 模式支持 SOAP。