在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. Example012点击修改属性

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Image和字节数组互转

    using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; ...

  3. android源码 分享1

    技术博客       "碎片化"严重,安卓走向封闭?[Bus Weekly]48期   阅读数:286   2017-05-08   按照NetMarketShare统计数据显示, ...

  4. 【JAVA】配置JAVA环境变量

    系统变量新建,添加 变量名JAVA_HOME 变量值为C:\Java\jdk版本号 修改 Path为 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

  5. JavaWeb 后端 <五> 之 JSP 学习笔记

    一.JSP简介 1.也是SUN公司推出的开发动态web资源的技术,属于JavaEE技术之一.由于原理上是Servlet, 所以JSP/Servlet在一起. 二.HTML.Servlet和JSP 1. ...

  6. 自定义VS程序异常处理及调试Dump文件(一)

    自定义VS程序异常处理及调试Dump文件(一) 1. Dump文件 1. Dump文件介绍 Dump文件(Dump File),也叫转储文件,以.DMP为文件后缀.dump文件是进程在内存中的镜像文件 ...

  7. php 极简框架ES发布(代码总和不到 400 行)

    ES 框架简介 ES 是一款 极简,灵活, 高性能,扩建性强 的php 框架. 未开源之前在商业公司 经历数年,数个高并发网站 实践使用! 框架结构 整个框架核心四个文件,所有文件加起来放在一起总行数 ...

  8. JavaScript用typeof判断变量是数组还是对象,都返回object

    在JavaScript中所有数据类型严格意义上都是对象,但实际使用中我们还是有类型之分,如果要判断一个变量是数组还是对象使用typeof搞不定,因为它全都返回object. 使用typeof加leng ...

  9. OpenStack neutron 环境云主机使用keepalived vip + 给vip绑定浮动IP 步骤及注意事项

    在openstack环境创建的多台云主机配置keepalived作主备,默认情况下无法生效,直接对云主机一张网卡配置两个IP进行测试也是同样结果,因为: 可以看到,port所在的宿主机上iptable ...

  10. Mongoose基础入门

    前面的话 Mongoose是在node.js异步环境下对mongodb进行便捷操作的对象模型工具.本文将详细介绍如何使用Mongoose来操作MongoDB NodeJS驱动 在介绍Mongoose之 ...