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