这篇文章的内容主要围绕如何进行nGrinder原理分析及性能工具对比进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!
在介绍nGrinder之前,有必要先说一下 The Grinder 抛砖引玉。
一、The Grinder
The Grinder是一个基于Java的开源性能测试框架,通过多个agent负载机很方便的进行分布式测试。
主要特性:
可以测试任何java代码,包括各种常用的接口
如HTTP web servers, SOAP和REST web services,还有客户端服务器RMI、JMS、EJBs等,还支持自定义协议。
测试脚本使用python和Clojure语言
成熟的HTTP协议支持:
自动管理客户端连接和cookies,SSL代理;
支持录制脚本,能够记录并回放浏览器和网站之间的复杂交互。
包括console和agent端
不足
一次只能运行一个测试
没有测试历史记录
没有图形化的测试报告
二、nGrinder
nGrinder是基于Grinder的开源的web性能测试平台,由韩国最大互联网公司NHN公司的开发团队进行了重新设计和完善。
特性:开源、易用、高可用、可扩展
nGrinder 在 Grinder 的基础上:
实现多测试并行
基于web的管理
实现cluster
内置svn,方便的脚本编辑、管理
支持Groovy脚本,相对于Jython,可以启动更多的虚拟用户
实现对目标服务器的监控
插件系统扩展
工作原理
由一个控制端controller和多个代理端agent组成,通过控制端(浏览器访问)建立测试场景,然后分发到代理端进行压力测试。
用户按照一定规范编写测试脚本,controller会将脚本以及需要的资源分发到agent,用jython执行。
在脚本执行的过程中收集运行情况、相应时间、测试目标服务器的运行情况等。并且保存这些数据生成测试报告,通过动态图和数据表的形式展示出来。用户可以方便的看到TPS、被测服务器的CPU和内存等情况。
三、LoadRunner JMeter 与 nGrinder对比
Loadrunner
基于UI操作,容易上手。早期很流行,功能强大,但是太笨重,安装很麻烦。
不开源,扩展性不高,收费贵。往后的方向肯定是客户端工具逐步向平台化发展,所以已经慢慢被替代了。
JMeter
基于UI操作,容易上手,但是编程能力较弱(使用beanshell脚本语言)。
其次JMeter基于线程,模拟数千用户几乎不可能。
nGrinder
单节点可支持4000~6000并发、支持分布式、可监控被测服务器、可录制脚本、开源、平台化。
参数化功能较弱
对测试人员的代码要求较高
感谢你的阅读,相信你对“如何进行nGrinder原理分析及性能工具对比”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注编程网网站!小编会继续为大家带来更好的文章!