Jmeter压测快速体验

image

前言

最近在看neo4j相关的官网文档以及一些调优参数,同时也学了下Jmeter,为了测试下neo4j服务的性能,虽然不是专业搞测试的,可是我以为每一个优秀的开发者都应该学会主动压测本身服务和代码的性能,并不是写完代码以后直接扔给测试就完事了,兵法云:知彼知己,才能百胜不殆嘛。java

jmeter是什么

jmeter是一款开源的测试工具,源码100%基于java并开源,最初的设计目的是用来测试Web应用的,因为其很是轻量级和免费,后来又扩展到其余测试领域。apache

jmeter的一些特色:

1.可以对HTTP,FTP,TCP,JDBC等服务器进行压力和性能测试,编程

2.彻底的可移植性和100% 纯java。windows

3.彻底 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。缓存

4.彻底多线程 框架容许经过多个线程并发取样和 经过单独的线程组对不一样的功能同时取样。服务器

5.精心的GUI设计容许快速操做和更精确的计时。微信

6.缓存和离线分析/回放测试结果。多线程

jmeter的高可扩展性:

1.可连接的取样器容许无限制的测试能力。并发

2.各类负载统计表和可连接的计时器可供选择。框架

3.数据分析和可视化插件提供了很好的可扩展性以及个性化。

4.具备提供动态输入到测试的功能(包括Javascript)。

5.支持脚本编程的取样器(在1.9.2及以上版本支持BeanShell)。

jmeter一些指标的意义

image

Samples:样本数

Average:平均响应时间

Median:中位数,50%响应时间小于此值

90%line:90%响应时间小于此值

Min:最短响应时间

Max:最大响应时间

Error:未命中数/比率

Throughput:吞吐量——每秒完成请求事务数【能够理解成tps或者qps,通常100用户压15min左右,其值会在800左右——不少地方并无严格去计较,就像tps和qps概念是不同的,但是不少时候能够混为一谈】

Kb/sec:每秒接收数据量

jmeter的安装

下载地址: http://ftp.kddilabs.jp/infosystems/apache/jmeter/binaries/apache-jmeter-3.1.tgz

jmeter是java写的,因此要求你的电脑上须要先提早安装JDK,在windows上直接解压下载后的压缩包,而后进入

apache-jmeter-3.1\bin目录

双击jmeter.bat启动,看到下面的一个UI

image

注意,jmeter已经有多语言支持,若是是英文语言版本的咱们能够在上图的设置选项里面改成中文设置。

快速体验例子(一)

如何对百度首页url进行一次性能测试? (GET请求)

(1)右击 测试计划=>添加=>Threads (Users)=>线程组 image 注意名称我已经改为百度首页测试

(2)右击 百度首页测试=>添加=>Sampler=>HTTP请求 image

(3) 添加结果集展现或聚合报告

image

上图里面有不少的结果集报告,你们能够根据状况添加

我这里添加了三个

(一)右击 百度首页测试=>添加=>监听器=>察看结果树(很是重要,相似debug,有详细的请求响应体,初学者建议必定要添加,不然出了问题,你根本看不到提示)

image

(二)右击 百度首页测试=>添加=>监听器=>用表格察看结果(单次请求详细报告) image

(三)右击 百度首页测试=>添加=>监听器=>聚合报告(全部的请求报告额外加入汇总聚合报告)

image

快速体验例子(二)

对neo4j的一个rest接口进行一次批量测试,(post请求+用户名密码认证+http header参数设置)

注意例子一不用的时候,能够禁用,不影响另外一个测试,jmeter里面的全部子组件均可以禁用,而后测试的时候,会忽略这个组件,这个功能,很是实用,建议你们尝试一下: image

(1)线程组里面配置1000次样本压测:

image

(2)HTTP请求的一些参数设置: image 注意此次HTTP请求下面多了两个组件:

(A) HTTP请求=>添加=>配置元件=>HTTP受权管理器(管理post的用户名和密码) image

(B) HTTP请求=>添加=>配置元件=>HTTP信息头管理器(管理请求头携带参数)

image

(3)此次结果里面多加了图形结果,这个结果是以图表的方式展现,适合大批量的测试 时候观察性能的: image

总结:

从上图能够很是漂亮的看出压测结果,底部有平均响应时间,很是方便,此外 整个配置项最后能够保存成一个jmx文件,之后再次启动jmeter依然存在。从总体体验来讲 jmeter仍是很是不错的,开发人员掌握这个之后,如虎添翼,随时随刻都能对本身的服务进行一个压力评测。

官网连接:http://jmeter.apache.org/

有什么问题能够扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。 技术债不能欠,健康债更不能欠, 求道之路,与君同行。

输入图片说明

相关文章
相关标签/搜索