`
shenmin1984
  • 浏览: 61755 次
  • 性别: Icon_minigender_2
  • 来自: 安徽
社区版块
存档分类
最新评论

Jmeter中如何收集性能参数

 
阅读更多

jmeter并没有给我们提供收集参数方法,比如LR,通过WMI收集。不过我们可以自己通过统计log的方式解决。

在windows下,我们通过开启性能计数器解决:

计数器名称 作用
Memory \ Available MBytes
系统可用内存数(同时收集Available bytes供细粒度比对)
Memory \ Page Read / sec
内存页面读取速率(供联合比对,比如与disk queue_len一起比对判断是否内存不足)
Memory \ Page Fault / sec
内存页出错数量
PhysicalDisk \ Disk Time%
磁盘读写所用时间百分比
PhysicalDisk \ Avg. Disk Queue Length
磁盘读写请求平均数
PhysicalDisk \ Current Disk Queue Length
具体到某一时间正在等待磁盘访问的系统请求数量
Process \ IO Read Bytes / sec
系统每秒IO读取速率
Process \ IO Wrtie Bytes / sec
系统每秒IO写入速率
Process \ Private Bytes / sec
无法共享的已分配字节数(与working set && available byte联用,判断内存泄漏)
Process \ Working Set
同上
Processor \ Privileged Time%
系统占用CPU的时间百分比
Processor \ Processor Time%
CPU总利用百分比
Processor \ User Time%
用户占用CPU时间百分比,这里指应用程序
System \ Context Switches / sec
反应 CPU线程切换频率
System \ Processor Queue Length
系统等待运行线程数(比如与cpuTime等一起联用,判断阻塞等)

 

我们把windows里配置好这些,日志类型为文本并逗号分割;测试完了以后截取日志就可以了。

linux下性能收集:

在linux下,我们可以自己写个sh去收集并运行,或者直接扔给crontab:

#!/bin/sh

case


 "$1"


 in
  start)
    echo "start collect:"



    free -k -s1 >> free_mem.log &
    vmstat 1 >> vmstat.log &
    ;;
  stop)
    kill `ps -ef | grep free | awk '{print $2}'`
    kill `ps -ef | grep vmstat | awk '{print $2}'`
    ;;
  *)
    echo "Usage: $0 {start|stop}"



    ;;
esac

exit 0

然后我们google下rb管理员,写个转换:

def convert_vmstat
  stat = File.stat('d:/vmstat.log')
  now  = stat.mtime
  t=Time.now
  lines=[]
  File.readlines('d:/vmstat.log').each do


 |line|
    line.chomp
    if


 line.match(/^\s+\d+/m) then
      now  = now + 1
      date = "#{now.day}/#{now.month}/#{now.year}"



      time = "#{now.hour}:#{now.min}:#{now.sec}"



      data = line.gsub(/^\s+/m,"").gsub(/[\s\t]+/m,"


,").gsub(/,$/m,"


")
      lines<<"#{date},#{time},#{data}"



    end
  end
  lines.each do


 |row|
    File.open("d:/vmstat.csv"


,"w"


) do


 |the_file|
      the_file.puts "date,time,r,b,swpd,free,buff,cache,si,so,bi,bo,in,cs,us,sy,id,wa,st"


    
      the_file.puts lines                      
    end
  end
end

convert_vmstat
puts 'ok'
2 聚合与统计

聚合与统计,我们可以手工用xls来做

统计内存使用百分比(windows):(3750 - b2) / 3750 * 100

统计cpu使用率(linux):100 - free

我们借助xls,对csv文件进行简单聚合集合,就可以生成图表了。

分组统计:

比如我们对get请求 get/studio做了参数化(get/studio/1, get/studio/2),那么我们需要自己写函数去聚合:

total_time=SUMIF(A:A,"/studio/*",d:d)

items_count=COUNTIF(A:A,"/studio/*")

3 如何计算中值以及90% Line

计算中值和90% Line的步骤:

1)对所有数据按照升序进行排序

2)用0.5*Len(values)得到的行的值即为中值,如一共有60行,0.5*60=30,那么第30行的值即为中值

3)用0.9*Len(values)得到的行的值即为90% Line,如一共有60行,0.9*60=54,那么第54行的值即为90% Line

 

 

 

 

分享到:
评论

相关推荐

    jmeter5.0 解决请求参数中文乱码ApacheJMeter_http.jar

    在IT行业中,性能测试是确保软件系统稳定性和可扩展性的重要环节,而Apache JMeter作为一款流行的开源性能测试工具,广泛应用于HTTP、FTP、数据库和其他协议的测试。在这个场景下,我们关注的是如何解决在使用JMeter...

    jmeter参数化5种方式脚本

    jmeter参数化5种方式脚本:用户自定义、函数、csv、数据库、正则提取。还包含post请求,get请求

    JMeter beanShell修改http请求参数

    最后,确保在第二个HTTP请求的参数中使用JMeter变量,如`sign=${sign}`,这样JMeter在发送请求时会自动替换为加密后的值。 在执行测试过程中,为了便于调试,你可以查看JMeter的日志文件,了解BeanShell脚本的执行...

    Jmeter测试报表相关参数说明

    以下是对JMeter测试报表中关键参数的详细解释: 1. **响应时间**:这是衡量系统性能的核心指标之一,包括了服务器处理请求的时间和网络传输时间。响应时间越短,用户体验越好。 2. **吞吐量**:表示在单位时间内...

    jmeter参数化方法

    本文将详细介绍JMeter中的参数化方法,并通过具体步骤演示如何实现参数化。 #### 二、参数化的意义 在JMeter中,参数化是指将测试计划中的一些固定值转变为可动态变化的变量,这些变量可以从外部文件或其他途径...

    JMeter性能测试脚本

    在"JMeter性能测试-day01-all"中,初学者可能接触到的是基础概念和环境搭建,包括安装JMeter、理解JMeter的工作原理、配置JMeter的运行环境,以及创建简单的测试计划。测试计划是JMeter的核心,它定义了如何对目标...

    jmeter中进行selenium性能测试的lib包

    4. **性能指标**:在测试过程中,JMeter会收集各种性能指标,如响应时间、吞吐量、错误率等。这些数据有助于分析系统的瓶颈和优化方向。 5. **脚本录制与回放**:JMeter通常用于功能测试时,可以通过代理服务器模式...

    Jmeter Jmeter Jmeter Jmeter Jmeter

    - **集成其他工具**:如BeanShell、JavaMail等,可以通过将相应的库文件添加到JMeter的lib目录中实现。 #### 五、系统要求 - **JDK版本**:JMeter 1.8及以上版本需要JDK 1.4及以上版本的支持。 - **操作系统**:...

    Jmeter_oracle性能测试中文手册

    当遇到性能问题时,可以通过调整JMeter测试参数、检查数据库日志、监控系统资源使用情况等方式进行排查。 9. **安全注意事项** 在进行性能测试时,务必注意数据隐私和安全,避免对生产环境造成影响。使用测试...

    Jmeter中文使用文档

    Apache JMeter是一款强大的性能测试工具,专为评估应用程序和服务的性能和稳定性而设计。这款开源软件广泛应用于Web应用、FTP服务器、数据库和其他通用协议的负载和压力测试。JMeter中文使用文档提供了方便中国用户...

    jmeter性能面试问答题

    【JMeter性能测试详解】 JMeter是一款强大的性能测试工具,常用于模拟大量用户并发访问Web应用程序,以评估系统的性能和稳定性。以下将详细介绍JMeter的使用、线程组配置及性能测试的关键点。 **JMeter录制与过滤*...

    Jmeter 中文使用手册(免费完整版).docx

    Jmeter 是一个功能强大且灵活的压力测试和性能测试工具,由 Apache 软件基金会开发和维护。其主要特点是: 1.-cross-platform:Jmeter 是一个纯 Java 桌面应用程序,可以在任何支持 Java 的操作系统上运行。 2. ...

    jmeter测试DB2性能

    `,并在参数中传入变量或常量值。 ##### 4. **运行测试并分析结果** 运行测试后,JMeter会显示详细的测试结果,包括平均响应时间、吞吐量、错误率等关键性能指标。通过分析这些数据,可以评估DB2数据库在高并发...

    JMeter中文使用手册JMeter中文使用手册

    通过《JMeter中文使用手册》,用户将能够掌握JMeter的各项功能,并运用到实际的性能测试工作中,从而提升系统性能,确保服务的稳定性和效率。无论是新手还是经验丰富的测试人员,都能从中受益,解决性能测试中的各种...

    jmeter研究用户参数化设置

    jmeter研究用户参数化设置,用csv数据的性能测试模板,很多人都是这么设置的

    jmeter WEB性能测试自学书籍入门到精通PDF下载

    这本书详细介绍了Jmeter在web性能测试中的各项功能和应用场景,下面我们将深入探讨其核心知识点。 1. **Jmeter简介**:首先,了解Jmeter的基本概念和背景非常重要。Jmeter最初设计为负载测试工具,但随着发展,它已...

    Apache JMeter 中文手册

    Apache JMeter是一款强大的性能测试工具,专为评估各种应用程序和服务的性能而设计。它最初是为了测试Web应用,但随着时间的推移,它已发展成为能够处理多种协议,如HTTP、HTTPS、FTP、JDBC等的全能性能测试工具。...

    Jmeter使用CSV Data Set Config参数化数据不重复的多次循环执行(实现多用户多次抽奖功能)

    例如,一个抽奖活动可能需要模拟数百甚至数千个不同的用户参与多次抽奖,这就需要在性能测试工具如JMeter中实现对大量用户数据的循环调用,并确保每个用户的数据不会被重复使用。本文将详细介绍如何使用JMeter中的...

Global site tag (gtag.js) - Google Analytics