您的位置:首页 > 理论基础 > 计算机网络

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.html

http://jmeter.apache.org/index.html

http://www.cnblogs.com/jackei/archive/2007/01/17/623166.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jmeter http并发