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