作者:贾秋菊
一、性能测试工具对比
目前,较常用的性能测试工具为Loadrunner及JMeter。JMeter基于UI操作,容易上手,但是不具备编程能力,其次JMeter基于线程模拟数千万用户几乎不可能。Loadrunner应用比较多,很方便,但是比较重,不开源,扩展性不高,收费贵,同时对高性能大并发的场景效果不理想。因此,我们研究了nGrinder是一个开源的性能测试工具,可直接部署成web服务,单节点支持3000并发、支持分布式多用户使用、可监控被测服务器、可录制脚本。
二、nGrinder工具介绍
nGrinder是一个开源的性能测试工具,可直接部署成web服务,单节点支持3000并发、支持分布式多用户使用、可监控被测服务器、可录制脚本。
nGrinder采用controller-agent分布式结构,基于python测试脚本(groovy也可),用户按照一定规范编写测试脚本,controller会将脚本一集需要的资源分发到agent,用python执行。并且在执行的过程中收集运行情况、相应时间、测试目标服务器的运行情况等。并且保存这些数据生成测试报告,以供查看。
nGrinder由两个主要组件组成。
Controller :
性能测试提供web界面、协调测试过程、整理和显示测试统计数据、让用户创建和修改脚本。
Agent
在代理模式下运行时,运行将负载放到目标机器上的进程和线程。
在监视器模式下运行时监视目标系统性能(例如:CPU/内存)
nGrinder架构如下图所示