JMeter 2.4试用, 从优秀到卓越


之前的产品性能和系统稳定性测试中,一直在使用JMeter作为某个主要功能的HTTPS流量 发生器。几个版本以来一直在用,接触比较多的是2.3.2。功能上基本能满足测试的要求,而且做个稍微复杂的场景也还是比较灵活的。但是一个很 suffer它自身的稳定性,比较跑overnight的系统测试的时候,第二天常发现JMeter自己crash掉了,还有一个问题就是它本身耗费的资 源,主要是RAM和CPU太高,导致不能并发用户数无法做到很高,而且这可能也是它不稳定的一个原因。之后的2.3.3有所改善,但是还是不是很好,而且 常烦的一个问题就是测试跑起来很多时候手工顶不掉,绿色的框框一直在。
真是有点又爱又恨啊。

之前在关河兄的blog上读到两篇文 章,因此对JMeter更多了些关注。
我们为什么要使用开源测试工具? (http://www.cnblogs.com/guanhe/archive/2010/05/20/1740149.html)
JMeter 与LoadRunner的比较  (http://www.cnblogs.com/guanhe/archive/2008/04/28/1174583.html)

最 近在用JMeter测试产品的一个Web Service API相关的功能,简洁清爽,给手工的测试提供了不少帮助。今天也不知道触动了哪根神经,想起来去JMeter的官网看看有没有更新。居然发现出了个 2.4吧,一查居然是7月14号刚新鲜出炉的,真是缘分啊,呵呵。
(http://jakarta.apache.org/site/news /news-2010-q3.html)
14 July 2010 - Apache JMeter 2.4 released
Version 2.4 of Apache JMeter has been released.
This is a major release. As well as correcting many bugs, there are lots of new features. The 2.4 release requires Java 1.5 or later. All users are encouraged to upgrade.


然后立马down下来try了一下,真是一阵狂喜啊。理由如下:
1. 开始支持SMTP sampler,而且居然还支持TLS。
试了下用TLS发mail给产品,看起来没什么问题。 能支持SMTP over TLS的测试工具还是不多的,很多free或者内部开发的tool都做不到,因为这个开发的effort不小。商业的如 LoadRunner,SilkPerformer自然是支持得不错。但是像Avalanche之类至今都还不支持。



以上是SMTP的一些基本配置,支持auth和 TLS,结合JMeter自身的Data set config和变量机制,上面的输入都可以参数化。



Subject可以支持自动插入时间戳,便于 debug。Header可以自定义,测很多功能的时候可以用到。Message ID是自动随机生成的,不用配。
邮件正文能支持eml真是让我 有赚到的感觉啊,因为连LoadRunner,Avalanche这样的大牌工具都不能支持,做sample的时候就很痛苦。特别是Avalanche, 跟他们的support,甚至product manager叫了很久,都没能支持。



2. 性能和稳定性进步巨大和明显。

    性能测试和稳定性测试的工具最怕自己不稳定,因为我们很多的测试都是要持续大流量的跑一周以上。   
    下午会比较多,就把JMeter开起来跑了个压力测试。结果如下。

   


在一台2G RAM的Core 2 PC上,开了100个并行的Thread,没有任何think time,每个连续发100,000封15KB的plain text mail,总计1千万封。
实际连续跑了8个多小时,速度很稳定,在每秒 350 msg/s。 相比以前使用2.3.2和2.3.3的体验,这个已经是质的提高了。
看看resource usage,大概分支600MB,很不错了,特别是对这样一个pure Java的tool, CPU瞬时的时候看了下,大概在80%左右。 很不错了,要知道按这样的速度一天就是3千万封,没有企业一天有这么多mail的。




查了下Change list(http://jakarta.apache.org/jmeter/changes.html),果然是major release啊。列几个我比较care的。

  • An SMTP Sampler has been added.
  • StatCalculator performance is much improved; Aggregate Report etc. need far less memory.

        难道这个就是以前资源耗太多的罪魁祸首?是时候做个了结了。

  • HTTP Proxy can now record HTTPS sessions.

        之前试过record的功能,但是以前HTTPS不支持是个遗憾。

  • View Results Tree now supports more display options, including search and Regex Testing.
  • Bug 47223 - Slow Aggregate Report Performance (StatCalculator)
  • Bug 48786 - Run Thread groups consecutively: with "Stop test now" on error or manual stop, JMeter leaves the green box active

        就是我上面抱怨的那个停不掉的问题,今天试过开500个并发,一点就停,爽啊。


还有很多细节的改进,有时间慢慢去试。仅就性能 和稳定性的提高,就使得JMeter可以担大任了。而且从此次更新上来看,JMeter社区的开发还是非常的活跃和积极,这对于一个测试工具很重要。一个 反例就是OpenSTA,Web Bench之类慢慢有些衰落,因为很久不更新了。

基于以上的原因,我对2.4的评价是优秀到卓越。


Jul 14, 2010    Ricky

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值