在1台测试机上面处理测试结果并没啥,比较麻烦的是合并2台测试机的测试结果。

首先说说,为什么我们需要使用2台(甚至3台、4台)测试机对服务器发送大量的请求呢?说白了就是测试机配置太弱了,服务器太牛逼。有时候我的测试机是4核的,但是服务器居然是16核、32核。如果测试机也是32核的话,只用1台测试机就能搞定工作。

引用一段比较专业的说法

作为一个纯 JAVA 的GUI应用,JMeter对于CPU和内存的消耗还是很惊人的,所以当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至还会引起JAVA内存溢出的错误。不过,JMeter也可以像 LoadRunner 一样通过使用多台机器运行所谓的代理来分担负载产生器自身的压力,并借此来获取更大的并发用户数。

上面这段话也可以归结为:测试机的配置太弱了,但凡是16核的测试机,Jmeter对于CPU和内存再消耗惊人,能怎么样?完全HOLD住。

-------------------------------------------------------------------------------------------------------------------------------------------------------------

下面的内容仅仅是叙述了我如何合并2台测试机的测试结果,用到的Linux命令包括:vi、cp、tar、rz、sz、cat。熟能生巧,没啥太特别的东西,备份一下以免长期不用忘了咋用。

-------------------------------------------------------------------------------------------------------------------------------------------------------------

举例开始了,我们假设只有2台测试机,所以只需要将2个测试结果文件合并就可以了:

//将2台测试机/result目录下的result.csv文件通过vi打开,去掉首行然后保存。因为首行显示的是jmeter-configure的标题(如下图),会影响结果的计算

//接下来操作都是在这两台测试机的/result目录下执行,!!!!别去其它目录!!!!!!

  • # vi result.csv
  • 去除行首的标题后,保存并退出

//在其中1台测试机内(叫它测试机a),将测试结果文件重新命名(原名是:result.csv),原因是我们在执行多台测试机并发的时候,在每台测试机保存的结果文件的名字是相同的。所以需要将名字修改成不相同的,以便执行合并结果的操作

//cp 已有文件名 新文件名

  • # cp result.csv  result01.csv

//在测试机a的操作界面内,将已经重新命名的结果文件压缩

//tar –zcvf 文件名.tar.gz  文件名

  • #tar –zcvf result01.csv.tar.gz result01.csv

//在测试机a的操作界面内,将已压缩的结果文件从测试机a下载到本地

  • #sz result01.csv.tar.gz

//切换到另1台测试机的界面(叫它测试机b),

//在测试机b的操作界面内,上传已经保存在本地的测试机a的结果文件到测试机b

  • #rz
  • 选择文件result01.csv.tar.gz,确认

//在测试机b的操作界面内,解压缩测试机a的结果文件

  • #tar –zxvf result01.csv.tar.gz

//在测试机b的操作界面内,合并结果集(此时体现了重新命名测试结果文件的意义)

//将测试机a的已重新命名的测试结果文件(原名是:result.csv,重新命名后的文件名:result01.csv)追加到测试机b的测试结果文件内,合并为1个文件以便计算测试结果

  • #cat result01.csv >> result.csv

//在测试机b的操作界面内,统计测试结果并且计算TPS

  • #wc -l result.csv
  • 服务器的总响应数目 / 脚本运行时间 = TPS

【NO.14】jmeter-处理结果的更多相关文章

  1. 转 14 jmeter性能测试实战--数据库MySQL

    14 jmeter性能测试实战--数据库MySQL   需求 测试用户表(对用户表select操作) 测试步骤 1.MySQL驱动下载并安装. 2.测试计划面板点击"浏览"按钮,将 ...

  2. 14.Jmeter聚合报告各项含义

    Aggregate Report 是 JMeter 常用的一个 Listener,中文为“聚合报告” Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Na ...

  3. 14 jmeter性能测试实战--数据库MySQL

    需求 测试用户表(对用户表select操作) 测试步骤 1.MySQL驱动下载并安装. 2.测试计划面板点击“浏览”按钮,将JDBC驱动(mysql-connector-java.jar)添加进来. ...

  4. 【jmeter】搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)

    一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.Jmeter:http://jme ...

  5. 搭建持续集成接口测试平台(jenkins+ant+jmeter)

    一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.Jmeter:http://jme ...

  6. 使用JMeter进行RESTful API测试

    使用JMeter进行RESTful API测试 在哪里设置实现最优脚本重用的属性 由于支持云的应用程序通常可以轻松.快速地进行复制和部署,所以可以在多种环境中对其进行测试.如果您需要在多个环境中测试和 ...

  7. jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter)

    jmeter --- 搭建持续集成接口测试平台(Jenkins+Ant+Jmeter) 一.环境准备: 1.JDK:http://www.oracle.com/technetwork/java/jav ...

  8. 转载:Jmeter教程索引

    摘自: 阳光温暖了心情 的 http://www.cnblogs.com/yangxia-test/category/431240.html 1 JMeter学习(一)工具简单介绍 2 JMeter学 ...

  9. Jmeter接口测试、性能测试详细介绍

    下面主要就是讲一下Jmeter工具的用法,用法非常简单,比起loadrunner不知道简单多少,并且开源免费~~ 1.接口简介 接口定义 接口: 就是数据交互的入口和出口,是一套标准规范. 接口(硬件 ...

  10. Jenkins操作手册 - 巨详细,一篇足矣!

    一.继续集成相关概念 1.1.什么是持续集成? 随着软件开发复杂度的不断提高,团队开发成员间如何更好的协同工作以确保软件开发的质量已经成为开发过程中不可回避的问题.尤其是近年来敏捷开发在软件领域越来越 ...

随机推荐

  1. docker中执行sed: can't move '/etc/resolv.conf73UqmG' to '/etc/resolv.conf': Device or resource busy错误的处理原因及方式

    错误现象 在docker容器中想要修改/etc/resolv.conf中的namesever,使用sed命令进行执行时遇到错误: / # sed -i 's/192.168.1.1/192.168.1 ...

  2. tomcat7以上,ajax post参数后台获取不到的问题

    AJAX post传参后台获取不到查询参数. 网上找了各种方法,包括设置content-type,又是把json转成json格式字符串,问题依然存在,但是把post改成get又可以获取到,百思不得其解 ...

  3. 我的学习之路_第二十七章_jQuery

    jQueryjs类库 把常用对象或者方法封装起来,让我们写代码效率更高 1.jQuery 2.extjs [jQuery入门] jQuery的引入: 通过script标签的src属性引入 入门: 获取 ...

  4. Java IO在实际项目开发中应用

    IO是java绕不过去的槛,在开发中io无处不在, 正如同 世界上本没有路,java io写多了,也就知道了大体是什么意思,在读完thinking in java 感觉就更清晰了,结合具体的业务场景, ...

  5. mysql表生成JavaBean

    MySQLToBean.java package org.just.util; import java.io.File; import java.io.FileInputStream; import ...

  6. sublime使用总结

    上周忙呀忙~    周一到五在忙项目,周六日搬家    在帝都平均一年就要换一次房子,从开始找房子到成功住进去前前后后大约花了半个多月的时间    什么时候就有自己的小窝了-- 之前开发一直用的都是W ...

  7. Javsssist用InsertAt()方法对语句插桩

    基于上一篇的方法插桩,这一篇则是进一步的对每行的语句进行插桩. 对于存在分支的方法(例如if(){}else{}),对方法插桩的方法是不能够全部涉及到的.所以要对程序的每条语句进行插桩. 插入什么语句 ...

  8. CJOJ 1070 【Uva】嵌套矩形(动态规划 图论)

    CJOJ 1070 [Uva]嵌套矩形(动态规划 图论) Description 有 n 个矩形,每个矩形可以用两个整数 a, b 描述,表示它的长和宽.矩形 X(a, b) 可以嵌套在矩形 Y(c, ...

  9. Dapper.Rainbow 简单使用

    一.  Dapper 简介        一个效率比较高的微型ORM.   二 . Dapper.Rainbow        Dapper的扩展,在这个扩展里面实现了 Dynamic 的 插入和更新 ...

  10. 图像处理与matlab实例之图像平滑(一)

    一.何为图像噪声?噪声是妨碍人的感觉器官所接受信源信息理解的因素,是不可预测只能用概率统计方法认识的随机误差. 举个例子: 从这个图中,我们可以观察到噪声的特点:1>位置随机 2>大小不规 ...