贴吧上有文玩收音机爱好者贴吧么

Jmeter-server agent - 简书
Jmeter-server agent
首先,需要下载① JMeterPlugins-Extras-1.1.2.zip② JMeterPlugins-Standard-1.1.2.zip③ ServerAgent-2.2.1.zip(JMeter 无法提取除 Tomcat 之外的其他服务器的默认指标。为了克服这一状况,研发了一个服务器代理,JMeter 通过这个代理来获取性能数据。这个代理使用的是开源库,它是由一个 Java 通用部分和一个每个 OS 的本地库组合而成。)①和②解压以后,我们需要把
JMeterPlugins-Extras.jar 和 JMeterPlugins-Standard.jar复制到Jmeter\lib\ext 目录下。ServerAgent监控用的agent,需要监控哪个服务器就放到哪个地方,linux和window通用,启动端口默认为4444,不用修改。启动jmeter,没报错,证明插件可以使用。【监控系统资源】添加“线程组”添加“Http请求默认值”,配置“服务器名称”和“端口号”工作台,添加“Http代理服务器”,配置代理服务器,端口号:8080;目标控制器:测试计划-线程组;分组:每个组放入一个新的控制器。设置ie代理服务器,端口:8080启动jmeter代理服务器。测试计划-添加“监听器”-jp@gc - PerfMon Metrics Collector,ADD ROW,输入服务器地址,端口号默认4444。启动代理服务器。一般对服务器CPU,内存swap,磁盘I/O,网络I/O进行监控。7743人阅读
应用部署(27)
JMeter是一款压力测试工具,我们也可以用它来监控服务器资源使用情况。
JMeter正常自带可以通过Tomcat的/manager/status来监控服务资源使用情况。这种情况只能监控Tomcat支持的资源使用部分。
本文主要来说一下如何通过JMeter插件来监控服务器CPU、内存、磁盘、网络等相关资源。
JMeter 插件网址:
Perf Mon 插件
首先进入网址
ServerAgent-2.2.1.zip
JMeterPlugins-Standard-1.3.1.zip
JMeterPlugins-Extras-1.3.1.zip
其中JMeterPlugins-Standard和JMeterPlugins-Extras是客户端的,ServerAgent是服务端的。
将 JMeterPlugins-Standard-1.3.1.zip 中 lib\ext 目录下的 JmeterPlugins-Standard.jar 文件都放到apache-jmeter-2.13\lib\ext目录中。
将 JMeterPlugins-Extras-1.3.1.zip 中 lib\ext 目录下的 JMeterPlugins-Extras.jar 文件放到apache-jmeter-2.13\lib\ext目录中。
将 ServerAgent-2.2.1 放到要监控的服务器中待使用。
1) apache-jmeter-2.12\bin\jmeter.bat 启动JMeter
正常启动成功后截图如下:
如果不能启动查看jdk版本或者jdk是否安装正确。
2) 查看插件是否正常加载,如图:
其中jp@gc 开头的为加载插件后出现的。
3) 运行 ServerAgent-2.2.1\bin\startAgent.bat(Linux使用startAgent.sh)
(默认端口为4444,也可以参数指定 –udp-port 4445 –tcp-port 4445)
可以看到输出内容如下:
2016 21:21:37.209 [kg.apc.p] ():
2016 21:21:38.208 [kg.apc.p] ():
2016 21:21:38.210 [kg.apc.p] (): @GC Agent v2.2.0 started
4) 在JMeter 中的测试计划中,按上面的截图,添加监听器 “jp@gc - PerfMon Metrics Collector”
点击上面的启动按钮后,查看ServerAgent日志出现:
2016-02-23 21:34:46.966 [kg.apc.p] (): Accepting new TCP connection
2016-02-23 21:34:46.969 [kg.apc.p] (): Yep, we received the 'test' command
2016-02-23 21:34:46.971 [kg.apc.p] (): Starting measures: cpu:
2016-02-23 21:34:47.123 [kg.apc.p] (): Client disconnected
运行jmeter时,成功连接然后立刻断开了,并没有获取我们想要的数据。猜想需要一个时间控制的元器件,使其能够获取一段时间的数据。
解决方法:
添加线程组,设置循环次数为”永远”;
为线程组任意添加一个Sampler(并不设置参数);
添加一个PerfMon Metrics Collector监听器;点击运行。(上面如果已经添加过,可直接使用无需再添加)
然后在 jp@gc - PerfMon Metrics Collector 界面,启动。
结果:成功获取chart图,点击stop,即结束监听数据,下面是截图。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2441517次
积分:19176
积分:19176
排名:第371名
原创:258篇
转载:41篇
译文:10篇
评论:762条
文章:24篇
阅读:522480
(2)(11)(6)(2)(1)(1)(1)(2)(10)(12)(10)(25)(17)(17)(10)(13)(21)(12)(5)(1)(9)(4)(6)(8)(2)(3)(2)(5)(2)(6)(4)(2)(1)(2)(1)(2)(1)(7)(14)(7)(5)(3)(1)(2)(19)(9)(3)沪ICP备3-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd& JMeter---项目测试
发布成功!
扫描二维码,下载手机客户端躺着也能逛圈子,发帖回帖更方便
小锐哥&&1岁11个月小男生
1.&&&&&&&Project&Testing怎样实现?
创建并测试脚本,通过后将脚本上传至服务器;& 在服务器上搭建测试环境;& 在DB&server创建测试DB;& 在测试服务器运行jmeter并执行脚本,保存测试结果;& 读取db和web&server的load&average并保存;& 分析以上数据,得出测试报告。&
2.&&&&&&&Load&average是什么? Load&average是指系统整体性能,是server上所有CPU在一段时间内的平均负载。 3.&&&&&&&Load&average的三个数值分别代表什么? 分别代表了前5、10、15分钟在线用户数平均负载、进程数。 4.&&&&&&&怎样查看Load&average? 在server上使用top&&d&1&|grep&&load&average&&&目标文件。可以将load&average数据导入指定文件。使用top命令可以在屏幕上直接查看。 5.&&&&&&&在采集Load&average时的注意事项? 在采集load&average时,要注意在load&average释放结束后才可以开始下一轮测试。同样,在开始测试前要检查load&average是否释放完成。这样可以保证所取数据的完整和所有数据的起点和终点的一致,这种数据产生的图表也是完整可靠的。 6.&&&&&&&应该什么时候使用top? 因为我们需要采集是project&脚本运行的全过程的server性能数据,所以,在运行脚本前应先运行top,在脚本运行结束后,使用q命令结束top。 7.&&&&&&&怎样在server上查看文件? 使用vi&文件名即可。&& 8.&&&&&&&怎样关闭打开的文件? 使用ESC+:+q+!关闭。 9.&&&&&&&怎样使用命令行的形式将运行结果导出? jmeter&-n&-t&my_test.jmx&-l&log.jtl&其中log.jtl是目标文件名。 10.&&&怎样在server间交换文件? 使用ftp命令,put/get表示交换方式,quit命令退出。 11.&&&&怎样获得stats&pack&report? a.&&&&&&&在DB&server上进入oracle用户su&-&oracle; b.&&&&&&&输入sql&perfstat/pass@jason_webdb根据用户修改相应用户名和密码; c.&&&&&&&根据情况采集数据exec&statspack. d.&&&&&&&生成报告@?/rdnms/admi/spreport.sql 12.&&&&STASPACK&report&的作用? STATSPACK是专用监控oracle性能的工具,通过分析脚本运行前后的2个快照,用工具将快照进行分析,给出oracle性能报告。 13.&&&&怎样压缩及解压缩文件? Tar&&czf&目标文件&源文件&&&&将文件打包; Tar&&xzf&源文件&&&&&&&&&&&&&释放文件。 14.&&&&怎样在ftp中上传和下载压缩文件? 使用bin模式即可。 15.&&&&为何不使用bin模式,也可以传递压缩文件? 如果2台机器使用相同的操作系统,这样是可以成功的,但是在不同操作系统间传递一定要用bin模式。 16.&&&&在运行脚本时出现这种提示&Exception&java.lang.OutOfMemoryError:&requested&16680&bytes&for&promotion.&Out&of&swap&space?&怎样处理? 这是因为jmeter&java&application向server申请的内存不足造成,需要将server重启或重新启动Jmeter。 & 17.&&&&&ps&&ef&|&grep&java&这条命令怎么读? &ps&&ef&是指列出当前server上的所有进程;&|&是管道符号;&grep&java&是查找所有与java有关的。整个命令用来查看所有与java有关的当前server上正在运行的进程。 18.&&&&怎样查看oracle执行计划? 通过比较2条sql的执行计划,可以看到效率是否得到提高。使用&set&autotrace&on命令可以开启此功能。 19.&&&&什么是GC? 是所谓的垃圾收集,如果server内存超过设定限制,系统会自动杀掉进程,保证机器运行。
阅读(2785)
宝宝树孕育apache jmeter压力测试初体会-Mongodb Elasticsearch Test_apache_ThinkSAAS
apache jmeter压力测试初体会-Mongodb Elasticsearch Test
apache jmeter压力测试初体会-Mongodb Elasticsearch Test
内容来源: 网络
最近由于工作需要,要对mongodb,elasticsearch 进行测试,以便做优化调整,在搜索对比了各个测试工具后决定选择轻量级且免费的apache jmeter,最开始下了个2.12版本,发现没有mongodb config element,后来换成2.10版
基础了解
由于只是找本次测试需要用到的,所以不全面,需要了解全面的可浏览以下网站
http://jmeter.apache.org/usermanual/index.html
/yangxia-test/p/4023905.html 
一. JMeter 介绍
Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序)。它可以用来测试静态和动态资源的性能,例如:静态文件,Java Servlet,CGI Scripts,Java Object,数据库和FTP服务器等等。JMeter可用于模拟大量负载来测试一台服务器,网络或者对象的健壮性或者分析不同负载下的整体性能。
同时,JMeter可以帮助你对你的应用程序进行回归测试。通过你创建的测试脚本和assertions来验证你的程序返回了所期待的值。为了更高的适应性,JMeter允许你使用正则表达式来创建这些assertions.
JMeter与LoadRunner比较
JMeter 是一款开源的测试工具,虽然与LoadRunner相比有很多不足,比如:它结果分析能力没有LoadRunner详细;很它的优点也有很多:
开源,他是一款开源的免费软件,使用它你不需要支付任何费用,
小巧,相比LR的庞大(最新LR11将近4GB),它非常小巧,不需要安装,但需要JDK环境,因为它是使用java开发的工具。
功能强大,jmeter设计之初只是一个简单的web性能测试工具,但经过不段的更新扩展,现在可以完成数据库、FTP、LDAP、WebService等方面的测试。因为它的开源性,当然你也可以根据自己的需求扩展它的功能。
二. JMeter 下载安装
1. http://jmeter.apache.org/下载最新版本的JMeter,解压文件到任意目录(本人用的是2.10版,在本文尾有下载链接)
2. 安装JDK,配置环境变量JAVA_HOME.
3. 系统要求:JMeter2.11 需要JDK1.6以上的版本支持运行
4. JMeter可以运行在如下操作系统上:Unix,Windows和Open VMS.
5. 避免在一个有空格的路径安装JMeter,这将导致远程测试出现问题。
三. JMeter 运行
1. 进入bin目录运行jmeter.bat启动jmeter linux 则用 sh jmeter 命令启动
注意:打开的时候会有两个窗口,JMeter的命令窗口和JMeter的图形操作界面,不可以关闭命令窗口。
2. JMeter的classpath:
如果你想添加其他JAR文件到JMeter的classpath中,你必须复制他们到lib目录中;
如果你开发了一个JMeter特定组件或有效的jar文件,复制到lib目录下的ext目录中。
3. 打开之后显示的是中文,如果你想使用其他语言,比如英文,那么通过菜单选项-&选择语言-&英文即可,当然转为中文也是同样操作。
四. JMeter 测试计划元件 
打开Jmeter页面:包括测试计划+工作台。
1.Test Plan (测试计划):
用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就说本的性能测试的所有内容是于基于一个计划的。
右键单击“测试计划”弹出菜单:
注意:
“函数测试模式”复选框,如果被选择,它会使Jmeter记录来自服务器返回的每个取样的数据。如果你在测试监听器中选择一个文件,这个数据将被写入文件。如果你尝试一个较小的测试来保证Jmeter配置正确并且你的服务器正在返回期望的结果,这是很有用的。这样做的后果就是这个文件会快速的增大,并且Jmeter的效率会影响。
如果不记录数据到文件,这个选项就没有不同了。
2.Threads (Users)线程 用户
虽然有三个添加线程组的选项,名字不一样, 创建之后,其界面是完全一样的。之前的版本只有一个线程组的名字。现在多一个setUp theread Group 与terDown Thread Group
1) setup thread group 
一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。
2) teardown thread group. 
一种特殊类型的ThreadGroup的,可用于执行测试后动作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。
3) thread group(线程组).
这个就是我们通常添加运行的线程。通俗的讲一个线程组,,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户。线程组中包含的线程数量在测试执行过程中是不会发生改变的。
线程组:
  名称:就如字面意思,起个有意义的名字就行
  注释:
  线程数:这里选择5
  Ramp-Up Period:单位是秒,默认时间是1秒。它指定了启动所有线程所花费的时间,比如,当前的设定表示“在5秒内启动5个线程,每个线程的间隔时间为1秒”。如果你需要Jmeter立即启动所有线程,将此设定为0即可
  循环次数:表示每个线程执行多少次请求。
3.测试片段(Test Fragment)
测试片段元素是控制器上的一个种特殊的线程组,它在测试树上与线程组处于一个层级。它与线程组有所不同,因为它不被执行,除非它是一个模块控制器或者是被控制器所引用时才会被执行。
控制器
JMeter有两种类型的控制器:取样器(sample)和逻辑控制器(Logic Controller),用这些原件来驱动处理一个测试。
4.取样器(Sampler)
取样器(Sample)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler , 如 HTTP Request Sampler 、 FTP
Request Sample 、TCP
Request Sample 、 JDBC Request Sampler 等,每一种不同类型的 sampler 可以根据设置的参数向服务器发出不同类型的请求。
5.逻辑控制器(Logic Controller)
逻辑控制器,包括两类无件,一类是用于控制test plan 中 sampler 节点发送请求的逻辑顺序的控制器,常用的有 如果(If)控制器 、 switch Controller 、Runtime Controller、循环控制器等。另一类是用来组织可控制 sampler 来节点的, 如 事务控制器、吞吐量控制器。
6.配置元件(Config Element)
配置元件(config element)用于提供对静态数据配置的支持。CSV Data Set config 可以将本地数据文件形成数据池 (Data Pool),而对应于HTTP Request Sampler和 TCP Request Sampler等类型的配制无件则可以修改 Sampler的默认数据。
  例如,HTTP Cookie Manager 可以用于对 HTTP Request Sampler 的 cookie 进行管理。
     HTTP 请求默认值不会触发Jmeter发送http请求,而只是定义HTTP请求的默认属性。
7.定时器(Timer)
定时器(Timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手端。类似于LoadRunner里面的“思考时间”。 JMeter 定义了Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。
8.前置处理器(Per Processors)
前置处理器用于在实际的请求发出之前对即将发出的请求进行特殊处理。例如,HTTP URL重写修复符则可以实现URL重写,当RUL中有sessionID 一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID 。
9.后置处理器(Post Processors)
后置处理器是用于对Sampler 发出请求后得到的服务器响应进行处理。一般用来提取响应中的特定数据(类似LoadRunner测试工具中的关联概念)。例如,XPath
Extractor 则可以用于提取响应数据中通过给定XPath 值获得的数据。
10.断言(Assertions)
断言用于检查测试中得到的相应数据等是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致。
11.监听器(Listener)
这个监听器可不是用来监听系统资源的元件。它是用来对测试结果数据进行处理和可视化展示的一系列元件。 图形结果、查看结果树、聚合报告、用表格察看结果都是我们经常用到的元件。
五. 工作台
在测试中我们可能需要暂时更改一些组件,可以把一些需要更改的组件保存在工作台中,测试完成后再恢复,但是切记:不能退出jmeter.一旦退出jmeter,工作台中的内容就会消失。
到此,我们已经简单了解了jmeter的基本组成原件,我们后序的测试工作也就是使用这些元件来完成测试任务。
MongoDB压力测试
启动jmter,在open里打开 mongodb.jmx
1 修改mongodb source config 主要修改 MongoDB Connection里的 Server Address List:
192.168.1.15:37017 (服务器地址)MongoDB Source:testmongodb(自定义的名字,后面的测试脚本中要用到这个name)
2 Thread Group 修改 Number of Threads(Users) 数量,Loop Count:(循环次数)
3 点击Thread Group 展开,修改测试脚本,MongoDB Source 填写刚定义的名字 testmongodb, Database Name: process(测试用到的数据库)
可以在这里添加多个脚本,在脚本上右键 可以启用,禁用它 
4 点击展开脚本(或在脚本上右键,添加 listener
view Result Tree,Graph Results, - PerMon Metrics Collectord
注: - PerMon Metrics Collectord 这个listener
在2.10版本里并没有,要添加插件。介绍如下
一.JMeterPlugins插件
很多时候,我们测试性能都需要查看内存和CPU等信息来判断系统瓶颈,关于CPU和内存的监控,Jmeter并没有很好的支持,很多时候,我们都只能通过系统的资源监控器来观察,一闪而过不会记录下来,很不方便。幸好google开发了一款专门监控的Jmeter插件JMeterPlugins,弥补了Jmeter这方面的不足,下面就来介绍一下这款插件——JMeterPlugins.
目前我用的是JMeterPlugins-Standard-1.2.0与ServerAgent-2.2.1版本。
1.JMeterPlugins下载地址
http://jmeter-plugins.org/downloads/all/  选择需要的版本,下载即可
2.JMeterPlugins配置使用
首先将下载的文件进行解压,得到JMeterPlugins-Standard-1.2.0与ServerAgent-2.2.1.
第一步,将JMeterPlugins-Standard-1.2.0libextJMeterPlugins-Standard.jar包复制到JMeter的lib目录下面的ext目录下面,重新启动Jmeter
此时,我们点击添加监听器,
第二步,这里监控内存我们使用的是: - PerfMon Metrics Collectot,在Windows环境下需要双击运行/serverAgent/startAgent.bat这个文件,我们需要将serverAgent目录及下面的文件复制到我们测试的服务器上,然后点击打开(我这里是本机,直接在本机上面打开这个应用系统即可),它的默认端口为4444。
---jmeterplugins end---
至此 测试计划就完成了,每次测试可以选择要测试的脚本(同时禁用本次不测试的脚本)就可以启动测试了,关于测试结果的分析如下:
测试结果的分析
一、Listener的使用
用过LoadRunner的人应该都知道,LoadRunner会为我们提供一大堆图标和曲线。但是在Jmeter里,我们只能找到几个Listener来方便我们查看测试结果。但是,对于初学者来说,一些简单的结果分析工具可以使我们更容易理解性能测试结果的分析原理。所以,千万别小看这几个简单的Listener啊。
A.Aggregate Report 聚合报告
我们可以看到,通过这份报告我们就可以得到通常意义上性能测试所最关心的几个结果了。
Samples -- 本次场景中一共完成了多少个Transaction
Average -- 平均响应时间
Median -- 统计意义上面的响应时间的中值
90% Line -- 所有transaction中90%的transaction的响应时间都小于xx
Min -- 最小响应时间
Max -- 最大响应时间
PS: 以上时间的单位均为ms
Error -- 出错率
Troughput -- 吞吐量,单位:transaction/sec 每秒完成的请求数
KB/sec -- 以流量做衡量的吞吐量
B.View Results Tree 以树状列表查看结果
通过这个Listener,我们可以看到很详细的每个transaction它所返回的结果,其中红色是指出错的transaction,绿色则为通过的。
如果你测试的场景会有很多的transaction完成,建议在这个Listener中仅记录出错的transaction就可以了。要做到这样,你只需要将Log/Display:中的Errors勾中就可以了。
二、.jtl文件的分析
在性能测试过程中,我们往往需要将测试结果保存在一个文件当中,这样既可以保存测试结果,也可以为日后的性能测试报告提供更多的素材。
Jmeter中,结果都存放在.jtl文件。这个.jtl文件可以提供多种格式的编写,而一般我们都是将其以csv文件格式记录,这样做是因为csv文件格式看起来比较方便,更重要的是这样做可以为二次分析提供很多便利。
我这里所说的二次分析是指除了使用Listener之外,我们还可以对.jtl文件进行再次分析。
a.设置jtl文件格式
我们从jmeter官方网站中下载下来的Jmeter解压后是可以直接使用的。但是,使用默认配置生成的jtl文件内容并不能满足我们的需要。于是我们必须进行必要的设置。在2.2版本中,如果要修改jtl设置必须要到jmeter.properties文件中设置;但是在2.3版本中,我们只需要在界面上设置就可以了。你只需要选择某个Listener,点击页面中的configure按钮。此时,一个设置界面就会弹出来,建议多勾选如下项:Save Field Name,Save Assertion Failure Message。
b.jtl文件中的各项
经过了以上设置,此时保存下来的jtl文件会有如下项:
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,Latency
请求发出的绝对时间,响应时间,请求的标签,返回码,返回消息,请求所属的线程,数据类型,是否成功,失败信息,字节,响应时间
其中聚合报告中的,吞吐量=完成的transaction数/完成这些transaction数所需要的时间;平均响应时间=所有响应时间的总和/完成的transaction数;失败率=失败的个数/transaction数
PerfMon Metrics Collector结果
MongoDB的测试大致就是这样了,比较粗略,有空再整理下
Elasticsearch压力测试
es的测试直接用现成的脚本就可了,要说明的是这里用到了用户自定义变量和随机变量
在要添加变量的节点上右键添加 config element -&选择要的变量类型 设置名称和值,在要用变量的地方 ${变量名}即可 如 ${numberOfThreads}
测试结果分析同上,略
本人也是第一次使用,还在学习中,本文有错误之处还望指正,有更好的方法也与大家分享
资源地址
http://download.csdn.net/detail/huwei (包含apache jmeter 2.10 程序包,解压即可运行,template里有mongodb,elasticsearch 的测试脚本 jmx)
PHP开发框架
开发工具/编程工具
服务器环境
ThinkSAAS商业授权:
ThinkSAAS为用户提供有偿个性定制开发服务
ThinkSAAS将为商业授权用户提供二次开发指导和技术支持
让ThinkSAAS更好,把建议拿来。
开发客服微信}

我要回帖

更多关于 文玩吧 百度贴吧 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信