目前常用的测试工具对比

LoadRunner

  • 性能稳定,压测结果及细粒度大,可以自定义脚本进行压力,但是太过于重大,功能比较繁多

Apache AB(单接口压测最方便)

  • 模拟多线程并发请求,ab命令对发出负责的计算机要求很低,既不会占用很多CPU,也不会占用太多的内存,但却给目标的服务器造成巨大的负载,简单DDOS攻击等

Webbench

  • webbench首先fork出多个子进程,每个紫禁城都循环做web访问测试,子进程把访问的结果通过pipe告诉父进程,父进程做最终的统计结果

Jmeter

  • 开源免费,功能强大,在还联网公司普遍使用
  • 压测不同的协议和应用
    • Web-》HTTP,HTTPS(java、NodeJS、PHP、ASP.NET,...)
    • SOAP / REST Webservices
    • FTP
    • Database via JDBC
    • LDAP 轻量目录访问协议
    • Message-oriented middleware (MOM) via JMS
    • Mail - SMTP(S),POP3(s) and IMAP(S)
    • TCP等等
  • 使用从场景及优点
    • 功能测试
    • 压力测试
    • 分布式压力测试
    • 纯java开发
    • 上手容易,高性能
    • 提供测试数据分析
    • 各种报表数据图形展示

Jmeter压测工具本地快速安装

  • 需要安装jdk8 以上
  • 官网地址:https://jmeter.apache.org/
  • 文档地址:

下载

我已经上传至百度云

链接: https://pan.baidu.com/s/1Cjyxo1otjKY97Mplo2m2pw  密码: 75w9

目录讲解和汉化操作

bin:核心可执行文件,包含配置
jmeter.bat:windows启动文件
jmeter:mac或者linux启动文件
jmeter-server:mac或者linux分布式压测使用的启动文件
jmeter-server.bat:windows分布式压测使用的启动文件
jmeter.properties:核心配置文件
extras:插件扩展的包 lib:核心的依赖包

Jmetera语言版本中英文切换

  切换中文显示的时候,有坑,请看我另一篇博客:点我直达

GUI菜单栏主要组件

添加->threads->线程组(控制总体并发)

线程数:虚拟用户数。一个虚拟用户占用一个进程或线程

准备时长(Ramp-Up Period(in seconds)):全部线程启动的时长,比如100个线程,20秒,则表示20秒内100个线程都要启动完成,每秒启动5个线程

循环次数:每个线程发送的次数,例如值为5,100个线程,则会发送500次请求,可以勾选永远循环

线程组->添加Sampler(采样器)->Http(一个线程组下面可以增加几个Sampler)

名称:采样器名称
注释:对这个采样器的描述
wbe服务器:
默认协议是http
默认端口是80
服务器名称或ip:请求的目标服务器名称或ip地址
路径:服务器URL

查看测试结果

新增聚合报告:线程组->添加->监听器->聚合报告(Aggregate Report)

lable:sampler的名称
Samples(样本):一共发出多少请求,例如10个用户,循环10次,则是100
Average(平均值):平均响应时间
Median(中位数):中位数,也就是50%用户的响应时间 90% Line:90% 用户的响应不会超过该时间 (90% of the samples took no more than this time.The remaining samples at least as long this)
95% Line:95%用户的响应不会超过该时间
99% Line:99%用户的响应不会超过该时间
min(最小值):最小响应时间
max(最大值):最大响应时间 Error%(异常):错误的请求的数量/请求的总数
Throughput(吞吐量):吞吐量--默认情况下表示每秒完成的请求数(Request per Second)可类比为qps、tps KB、Sec:每秒接收数据量

验证

  可以看出,单机并发差不多在2万5左右,嘻嘻,下面贴出我的电脑配置

当前测压电脑配置
CPU:I7 9750
内存16G

  注:接口的性能影响因素很多,机器的配置如CPU、内存、当前负载情况等,还有网络带宽因素影响,只能尽量减少影响因素

yb课堂之压力测试工具Jmeter5.X 实战《二十二》的更多相关文章

  1. WebBench压力测试工具(详细源码注释+分析)

    本文适合人群:对WebBench实现感兴趣的人 WebBench原理: Linux下使用的服务器压力测试工具,利用fork建立多个子进程,每个子进程在测试时间内不断发送请求报文,建立多个连接,然后由父 ...

  2. linux压力测试工具stress

    最近给PASS平台添加autoscaling的功能,根据服务器的负载情况autoscaling,为了测试这项功能用到了stress这个压力测试工具,这个工具相当好用了.具体安装方式就不说了.记录下这个 ...

  3. HTTP压力测试工具

    HttpTest4Net是一款基于C#实现的和HTTP压力测试工具,通过工具可以简单地对HTTP服务进行一个压力测试.虽然VS.NET也集成了压力测试项目,但由于VS自身占用的资源导致了在配置不高的P ...

  4. 微软压力测试工具 web application stress

    转自 http://www.cnblogs.com/tonykan/p/3514749.html lbimba  铜牌会员 这里给广大的煤油推荐一个web网站压力测试工具.它可以用来模拟多个用户操作网 ...

  5. Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍

    一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...

  6. DNS压力测试工具dnsperf简介

    dnsperf是我最近写的一个开源的DNS压力测试工具,用户可以用它来对DNS服务器或者Local DNS做压力测试.dnsperf目前的实现是单进程模式,通过epoll非阻塞地处理网络事件. dns ...

  7. sysbench压力测试工具简介和使用(二)

    sysbench压力测试工具使用: 2.1    测试数据库服务器的硬件配置信息如下: CPU:      24核心线程数,Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00G ...

  8. 网站压力测试工具webbench使用说明

    一.webbench简介        Webbench是有名的网站压力测试工具,它是由Lionbridge公司(http://www.lionbridge.com)开发.它的帮助文件和文档请到:ww ...

  9. Http压力测试工具HttpTest4Net

    HttpTest4Net是一款基于C#实现的和HTTP压力测试工具,通过工具可以简单地对HTTP服务进行一个压力测试.虽然VS.NET也集成了压力测试项目,但由于VS自身占用的资源导致了在配置不高的P ...

随机推荐

  1. .Net Core缓存组件(MemoryCache)【缓存篇(二)】

    一.前言 .Net Core缓存源码 1.上篇.NET Core ResponseCache[缓存篇(一)]中我们提到了使用客户端缓存.和服务端缓存.本文我们介绍MemoryCache缓存组件,说到服 ...

  2. python 中文乱码 list 乱码处理

    list 乱码 data_list = ["中文"] print str(data_list).decode("string_escape") mysql 获取 ...

  3. 推荐一款技术人必备的接口测试神器:Apifox

    1. 背景 作为互联网行业技术从业者,接口调试是必不可少的一项技能,通常我们都会选择使用 Postman 这类工具来进行接口调试,在接口调试方面 Postman 做的确实非常出色.当然除了Postma ...

  4. 使用ASP.NET实现定时计划任务,不依靠windows服务

    我们怎样才能在服务器上使用asp.net定时执行任务而不需要安装windows service?我们经常需要运行一些维护性的任务或者像发送提醒邮件给用户这样的定时任务.这些仅仅通过使用Windows ...

  5. jstree 权限树 简单教程

    第一 :引用.略过 第二 : 初始化: //初始化加载 window.onload = function () { //获取树 信息 todo var result=[{ "id" ...

  6. leetcode 5473

    这个题真是当时想麻烦了,,,感谢LLdl 提供的题解 其实一个很重要的点就是,如果后面的玩意翻转了偶数次,那就跟没变一样.如果是奇数次就取反. 怪我天真,第一反应就去位运算去了,,,,哪有那么复杂诶 ...

  7. vector STL

    高呼“STL大法好!!” vector 是一个不限定容量的数组. 先说一下头文件 #include<vector> 1.声明 vector<int>v1;//vector元素为 ...

  8. PHP preg_match_all() 函数

    preg_match_all 函数用于执行一个全局正则表达式匹配.高佣联盟 www.cgewang.com 语法 int preg_match_all ( string $pattern , stri ...

  9. PHP xml_get_current_column_number() 函数

    定义和用法 xml_get_current_column_number() 函数获取 XML 解析器的当前列号. 如果成功,该函数则返回当前列号.如果失败,则返回 FALSE.高佣联盟 www.cge ...

  10. PHP fprintf() 函数

    实例 把一些文本写入到名为 "test.txt" 的文本文件: <?php高佣联盟 www.cgewang.com$number = 9;$str = "Beiji ...