性能测试:JMeter vs Tsung

时间:2013-11-10 03:15:19

标签: jmeter tsung

JMeter和Tsung之间有什么区别?我读过,如果使用相同的硬件进行测试,Tsung可能会产生比JMeter更多的负载,但它与现实有多接近?

2 个答案:

答案 0 :(得分:4)

Tsung是用Erlang编写的,据说可以运行极端数量的同时用户(10000 +)

Jmeter是用Java编写的,并且假设你的测试计划很好,它能够产生大量的负载。

以下是JMeter中性能方面的一些限制

  • Jmeter中的每个用户都是OS线程。这会增加使用大量并发用户的开销(jmeter最佳实践建议使用少量线程,http://jmeter.apache.org/usermanual/best-practices.html - 根据我的经验,每个jmeter实例使用超过1000个线程时可能会遇到问题,但这可能会有所不同很多,取决于你的测试计划)。在运行更大的测试时,您还需要调整JVM设置。

  • 你可以很容易地破坏性能和如果你有动态脚本(每次因为jmeter变量扩展而必须重新编译的脚本),那么就会耗尽PermGen内存。将脚本放在单独的文件中或使用编译缓存键以避免重新编译。

  • 使用一些测试组件(例如树视图,它可以保留内存中的每个请求和响应)可能会对您的负载生成器造成严重破坏

我已经用JMeter测试了一些非常大的站点,并且只要你能够减少线程数量(减少用户等待以保持吞吐量达到你想要的水平)Jmeter就可以了。 JMeter周围有一个很大的社区,使用大量协议进行负载测试的插件。监控各种系统。 JMeter还有很好的脚本支持 - java,javascript,基本上可以加载到jvm中的任何东西(包括例如groovy),所以它是非常可扩展的。

曾经(我认为使用jmeter 2.6)我每秒运行大约30,000个数据库请求(Oracle JDBC),并且自那时起已经进行了一些优化,因此只要你没有极端要求,jmeter就可以了。选择一个适合您需求和经验的。

注意:我使用Tsung的经验很少。

答案 1 :(得分:1)

它总是取决于你的场景和用于变化的数据量,比率接近10,当你能够用JMeter运行100个用户/秒时,Tsung将很容易以1000个用户/秒。< / p>