Jmeter与长连接压测

发表于:2019-8-28 16:29

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:爬蜥    来源:数据库开发

#
Jmeter
分享:
  jmeter是设计成做负载测试和性能评估的java应用。它能够测试的类型包括
  Web - HTTP,HTTPS
  SOAP / REST 服务
  FTP
  通过JDBC的数据库
  LDAP
  基于JMS的面向消息的中间件
  邮件 - SMTP(s),POP3(s)以及IMAP(s)
  shell脚本
  TCP
  java对象
  以下以TCP为主
  GUI界面简介
  下载完jmeter之后,进入jmeter源码目录
       ls
  LICENSE        NOTICE         README.md      bin            docs           extras         lib            licenses       printable_docs
  在当前目录下执行命令 ./bin/jmeter便可以看到图形化的界面
  jmeter概念
  ThreadGroup
  线程组是是所有测试计划的起点。一切的controller和sampler都必须在线程组下面,其它的元素,比如listener,可能直接放在了测试计划下面,这种情况下它就适用于所有的线程组。线程组控制着
  线程的数量
  线程全部启动的时间
  执行测试的次数
  Pre-Processor
  在sampler请求之前执行,一般它用来修改设置或者更新一些变量
  Samplers
  用来发送请求给服务器,并且等待结果,Jmeter的sampler包括
  FTP request
  HTTP request
  JDBC request
  java object request
  JMS request
  JUnit Test request
  Mail request
  OS Process request
  TCP request
  Assertion
  用来校验请求的返回结果
  configuration
  它会被添加到请求,或者是修改请求
  Post-Processor
  在sampler执行之后执行
  logic controller
  自定义jmeter在发送请求时的一些处理逻辑
  Listener
  用来获取jmeter运行时搜集的信息,比如 Graph Result listener用来绘制返回时间
  Timer
  在每个sampler执行前,延迟一段时间执行
  Properties
  JMeter的Properties定义在了 jmeter.properties,它是全局的
  variables
  它对于每个线程来说都是本地的,如果在一个线程里面改变了,仅影响这个线程
  Jmeter的scope
  jmeter的测试结构既是分层的又是顺序的,一些元素是严格按照层次来的,比如(Listeners, Config Elements, Post-Processors, Pre-Processors, Assertions, Timers),一些是按照顺序来的,比如(controllers, samplers)
  一个典型的按照顺序执行的测试树如下,它的请求顺序是 One Two Three Four。
  受层次影响的测试树,Assertion #1 仅用于 One,而 Assertion #2则是用于 TWO和Three
  加上timer之后, Timer #1 会用于 Two/Three/Four,Assertion # 1则仅会用于Three,而 Timer #2则会影响所有的请求
  可以简要的理解成 子集功能只能给当和他同一级目录和他的子集使用,其它的是按照顺序执行
  执行顺序说明
  总的来看,执行顺序是
   Configuration elements
  Pre-Processors
  Timers
  Sampler
  Post-Processors (除非SampleResult 是 null)
  Assertions (除非SampleResult 是  null)
  Listeners (除非SampleResult 是  null)
  比如以下的测试计划
  Controller
  Post-Processor 1
  Sampler 1
  Sampler 2
  Timer 1
  Assertion 1
  Pre-Processor 1
  Timer 2
  Post-Processor 2
  它的执行顺序就是
  Pre-Processor 1
  Timer 1
  Timer 2
  Sampler 1
  Post-Processor 1
  Post-Processor 2
  Assertion 1
  Pre-Processor 1
  Timer 1
  Timer 2
  Sampler 2
  Post-Processor 1
  Post-Processor 2
  Assertion 1
  图形界面
  通过图形界面配置好的结果,保存下来后,可以再通过./bin/jmeter -t xxx.jmx的方式打开。
  保存配置的方式为 找到应用目录 File -> save test plan as 即可
  启动测试操作如下
  停止测试操作如下
  对于左侧栏也提供了展开和收起
  线程组的界面如下
  如果想通过非图形界面的方式启动,则可以使用 ./bin/jmeter-server 来执行,远程测试可以通过添加 -Jremote_hosts 的方式来添加服务列表 远程测试详情戳这里
  监控结果
  如果需要测试完成后自动产生图形界面的结果,可以执行
 ./jmeter -n -t ~/Desktop/MyServerHandler.jmx -l ~/Desktop/MyServerHandlerLog.txt -e -o ~/Desktop/MyserverHandlerReport
  ~/Desktop/MyServerHandlerLog.txt是一个存储结果的空文件
  ~/Desktop/MyserverHandlerReport 是一个存储监控结果的空
  ~/Desktop/MyServerHandler.jmx  通过界面配置生成的压测计划
  如果已经执行完了,日志放在了  MyServerHandlerLog.txt 中,可以通过命令直接产生
 /bin/jmeter -g MyServerHandlerLog.txt -o ./MyserverHandlerReport
  可以在 bin/user.properties 文件定制相关的内容
  jmeter体验测试案例
  nettyServer长连接服务提供了简单的心跳和echo服务,通过启动配置好的jmx
  就可以看到对应的界面,然后开始压测

      上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号