Jmeter http请求 Demo(压测Elasticsearch)
2015-06-29 15:23
316 查看
背景
验证Elasticsearch是否能支撑业务,并压测出单节点接口(创建索引、删除索引、更新索引、查询索引)能力值。选用Jmeter
通过HTTP 9200端口与Elasticsearch的RESTful API 进行通信(Jmeter支持http请求)业务需要支撑大并发请求(Jmeter支持大并发下http请求)
业务需要验证Elasticsearch在词条丰富情况的执行效率,即创建索引时,http请求参数配置化(Jmeter支持为参数指定配置元素)
Jmeter支持View Results Tree(查看结果树:请求信息、响应信息)、Response Assertion(响应断言:判断请求成功)
Jmeter可生成聚合报告
……
Jmeter基础
安装步骤,这里就不阐述了,简单的很,有java环境的话, 直接解压即可运行。了解相关基础,可以参考: Jmeter指南(中文) 、 Jmeter官网Jmeter不一定最优,但是操作简单,配置灵活,较快上手,适合研发自测
Jmeter http请求 Demo(压测Elasticsearch)
在上述的Jmeter指南已经含有http请求的测试计划,这里就简单介绍压测Elasticsearch的步骤过程。环境准备
上述指南、官网有,这里不重新列举。Demo 需求
模拟不同规模的大并发http请求可判断请求成功与否
http请求参数配置化
生成相关测试报告
Demo 主要组件
创建线程组(ThreadGroup)线程数:执行测试计划的线程数,这个参数对于配置负载和压力测试非常重要。
过渡期:JMeter开始启动所有线程所需时间。
循环次数:即迭代次数,也就是测试计划被执行的次数
调度器(Scheduler):指定计划执行时间、结束时间
错误行为:错误场景下的行为模式:阻止当前线程,停止整个测试,继续执行…
创建采样器(Sampler,这里以HTTP Request为例)
构建http请求,${variableName}为CSV Data Set Config配置的参数
创建配置元素(Config Element,这里以CSV Data Set Config 为例)
创建断言(Assertions,这里以Response Assertion为例)
正则匹配响应内容,判断请求是否成功返回。
创建监听器(Listener,这里以View Results Tree、Aggregate Report、Aggregate Graph为例)
View Results Tree
在大并发测试前,可以先通过View Results Tree调试Sampler请求的正确性,可以配置日志的显示信息及保存格式。
ps:在Text模式下的linux,无法通过View Results Tree调试或者确认Sampler中的错误日志,请勾选红框保存样本响应信息,可定位问题信息。
Aggregate Report
理解聚合报告
Aggregate Graph
聚合图形是聚合报告的图形化
Demo 需要Jmeter在Text模式Linux
很简单,在java环境,解压Jmeter工具包,运行/path/apache-jmeter-2.13/bin/jmeter -n -t /path/apache-jmeter-2.13/workspace/es_test2.jmx
es_test2.jmx就是按照上述组件构成的测试计划配置文件,即我们可以在window下利用View Results Tree对Sampler进行一系列调试无误后,保存配置文件xxx.jmx到linux。
分布式Jmeter
暂时还没实践。可以参考: http://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.pdf参考
http://www.importnew.com/13876.htmlhttp://jmeter.apache.org/index.html
http://www.cnblogs.com/jackei/archive/2007/01/17/623166.html
相关文章推荐
- tomcat、netty以及nodejs的helloworld性能对比 3ff8
- JMeter技巧集锦
- JMeter的介绍和脚本录制以及对WEB进行测试
- Jmeter基础
- Jmeter使用
- Jmeter使用流程及简单分析监控
- 学习PHP精粹,编写高效PHP代码之性能
- 不靠谱的benchmark测试,关于Gatling和JMeter的测试结果验证
- JMeter - java请求
- Jmeter 接口测试发送数据乱码的问题
- jmeter 线程 上的参数解释理解的误区~
- JMeter性能测试-请求数据参数设置-自动增长变量
- Selenium,Jtest,JMeter三种测试工具介绍
- Jmeter往数据库批量添加测试数据
- 压力测试工具,windows 环境安装 Jmeter安装
- jmeter压力测试,简单样例
- JMeter对Vertica数据库的测试
- web压力测试--Jmeter与Badboy的结合
- 两款JSON类库Jackson与JSON-lib的性能对比(新增第三款测试)
- Jmeter报告分析