文档章节

Jmeter压测快速体验

九劫散仙
 九劫散仙
发布于 2016/12/06 19:07
字数 1331
阅读 102
收藏 3

image

前言

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

jmeter是什么

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

jmeter的一些特点:

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

2.完全的可移植性和100% 纯java。

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),在后台留言咨询。 技术债不能欠,健康债更不能欠, 求道之路,与君同行。

输入图片说明

© 著作权归作者所有

九劫散仙
粉丝 267
博文 175
码字总数 189625
作品 0
海淀
私信 提问
基于Jmeter的性能压测平台实现

版权声明:本文为博主原创文章,未经博主允许不得转载。欢迎访问我的博客 https://blog.csdn.net/smooth00/article/details/83380879 很早就想要一套属于自己的性能压测平台,原因是使用了阿...

smooth00
2018/10/25
0
0
实战Jmeter压测Dubbo服务接口

一、前言 最近在做一些业务上云的项目,其中远程Rpc调用方式我们选择了Dubbo,为便于收集压测信息,我们选择了使用Jmeter来做压测工具,本文就来简单介绍如何使用Jmeter压测Dubbo服务接口,以...

阿里加多
2018/10/30
0
0
【Jmeter】Jmeter使用AbstractJavaSamplerClient编写自定义流程测试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kisscatforever/article/details/83416193 一、前言 在上一篇博客中,小编向大家简单介绍了jmeter 的GUI界面的...

AresCarry-王雷
2018/10/26
0
0
[Jmeter]日常工作中踩的坑

[JMeter] Error in rconfigure() method java.rmi.ConnectException:Connection refused to host 问题分析:抛出的问题中,提示Java远程调用方法出现了异常,连接拒绝了master,可能是主机与奴...

覃光林
05/24
0
0
jmeter Tcp取样器压测出现Response code: 500;Error reading from server, bytes read: 66错误,请问怎么解决

jmeter Tcp取样器压测中 服务器接收到数据,并响应返回了,数据库中已经插入的正确的数据,但是在jmeter中仍然返回 如下错误 Response code: 500 Response message: org.apache.jmeter.proto...

北斗之手
2017/09/06
1K
1

没有更多内容

加载失败,请刷新页面

加载更多

lua web快速开发指南(7) - 高效的接口调用 - httpc库

httpc库基于cf框架都内部实现的socket编写的http client库. httpc库内置SSL支持, 在不使用代理的情况下就可以请求第三方接口. httpc支持header、args、body、timeout请求设置, 完美支持各种h...

水果糖的小铺子
今天
3
0
通过四道常问面试题,带你了解什么是数据库分库分表

编者语:为了避免被误解为:「手里有把锤子,看什么都是钉子!」,说明一下不是什么业务都适合分布式数据库,更不是用了分布式数据库性能就一定能得到扩展。 其次:本文为纯干货,建议先转发...

老道士
今天
6
0
springmvc 整体流程

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR......

architect刘源源
今天
3
0
磁盘管理

先来看两个查看的命令 查看磁盘使用情况df 用法:df, df -h, df -m, df -k 查看目录或文件大小 用法:du -sh, du -sm, du -s(默认以k为单位) 新加一块盘如何操作 步骤:分区(可选)--> 格...

wzb88
今天
3
0
在 Linux 下确认 NTP 是否同步的方法

NTP 意即网络时间协议Network Time Protocol,它通过网络同步计算机系统之间的时钟。NTP 服务器可以使组织中的所有服务器保持同步,以准确时间执行基于时间的作业。NTP 客户端会将其时钟与 ...

Linux就该这么学
今天
11
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部