jmeter监控服务器资源怎么监控tomcat 51testing

使用JMeter对Tomcat进行压力测试与Tomcat性能调优 - vs_dev的个人空间 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
使用JMeter对Tomcat进行压力测试与Tomcat性能调优
& 21:39:57
/ 个人分类:
一、准备。& & & 1、安装JDK1.6或1.6版本以后的,并配置环境变量。& & & 2、在Apache的官网下载最新的,&,截止目前为止,最新的Jmeter是2.12版本,需要注意的是下载使用的时候不能下载source版本的,必须下载内容更加完整的binaray版本的,比如如果下载&,运行jmeter.bat时,会出现下面的exception:unable to access jarfile apachejmeter.jar error value=1这个exception的原因是&中的bin目录中,缺少**acheJemeter.jar.所以要下载binary版本的。& & &3、在Apache的官网上下载Tomcat,本文中以Tomcat7.0.42为例。&二、开发一个简单的J2EE工程,可以是基于Servlet的,可以是基于Spring等MVC框架的,而且不需要实现什么样的功能,只需要满足用户访问http://localhost:&9999时,中能够输出(index.html)Hello World或者其它任何内容。&三、开始在Jmeter中配置模拟对Tomcat的index.html(localhost:9999)进行并发访问。首先是使用Tomcat 7.0.42的默认配置1、选中Test Plan,点击Edit菜单按钮,选择Add操作,选择Thread(Users),然后选择Thread Group创建一个线程组。2、选中Thread Group,点击Edit菜单按钮,选择Add操作,选择Sampler,并选择Http Request。3、选中Test Group,点击Edit菜单安丘,选择Add操作,选择Listener,然后分别添加Aggregate Graph(聚集图形),View Results Tree(查看结果树)。&3、不修改Tomcat的默认配置,启动Tomcat,由于默认的Tomcat运行在8080端口,将上面的9999端口先改回8080或者遵照后面点的步骤将Tomcat默认的8080端口改为9999。&4、启动Tomcat。&5、点击上面的绿色执行按钮执行该计划。&由测试线程组可知,Jemeter将模拟150000个线程请求不断的访问localhost:8080。执行10分钟后,运行结果截图可得:&下面将详解这个聚合报告中的每个参数:1)Label:每个&JMeter&的&element(例如&HTTP&Request)都有一个&Name&属性,label显示的就是&Name&属性的值&&2)#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100,这里显示的应该是150000而不是172649,之所以是172649,是因为我中间点击停止,然后又再原来的基础上重新开始执行。&3)Average:平均响应时间——默认情况下是单个&Request&的平均响应时间,当使用了&Transaction&Controller&时,也可以以Transaction&为单位显示平均响应时间&&4)Median:中位数,也就是&50%&用户的响应时间&&5)90%&Line:90%&用户的响应时间&&&6)Min:最小响应时间&&7)Max:最大响应时间&&8)Error%:本次测试中出现错误的请求的数量/请求的总数&&9)Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request&per&Second),当使用了&Transaction&Controller&时,也可以表示类似&LoadRunner&的&Transaction&per&Second&数&&10)KB/Sec:每秒从服务器端接收到的数据量,相当于中的Throughput/Sec&&这里我们可以看到,在这172649多次的访问之中,tomcat的访问出错率是0.15%,即大概有100多次的请求是由于忙碌而失败了的。当然,这只是一个参考,具体还要根据软硬件的条件才能最终确定下来。&对Tomcat进行调优后再用Jmeter进行测试1、增加Tomcat对JVM内存的分配:即&调整虚拟内存&:&&在/usr/local/tomcat_home/bin目录下的catalina.sh&&添加:JAVA_OPTS='-Xms1024m -Xmx2048m'&&要加“m”说明是MB,否则就是KB了,在启动tomcat时会报内存不足。&&-Xms:初始值&&-Xmx:最大值&&-Xmn:最小值&&:&&在catalina.bat最前面加入&&set JAVA_OPTS=-Xms1024m -Xmx2048m&&如果用startup.bat启动tomcat,OK设置生效。够成功的分配2048M内存.&&但是如果不是执行startup.bat启动tomcat而是利用windows的系统服务启动tomcat服务,上面的设置就不生效了,就是说set JAVA_OPTS=-Xms1024m -Xmx2048m没起作用。&windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置.。&解决办法:&&修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat7\Parameters\JavaOptions&&原值为&&-Dcatalina.home="C:\ApacheGroup\Tomcat 7.0.42"&&-Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 7.0.42\common\endorsed"&&-Xrs&&加入 -Xms1024m -Xmx2048m&&重起tomcat服务,设置生效&&2、修改线程池并将默认的8080端口修改为9999端口。即将默认的&Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" /&&修改为:&Connector port="9999" redirectPort="8443"
maxHttpHeaderSize="8192" useBodyEncodingForURI="true"
minProcessors="100" maxProcessors="5000"
maxThreads="5000" minSpareThreads="1000" maxSpareThreads="4000"
enableLookups="false" acceptCount="3500"
compression="on" compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="60000" disableUploadTimeout="true" debug="0" URIEncoding="UTF-8"/&&3. 禁用DNS查询& 当应用程序向要客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为IP地址。DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。为了消除DNS查询对性能的影响我们可以关闭 DNS查询,方式是修改.xml文件中的enableLookups参数值: 将其设置为false。4、修改完后,重启tomcat。5、在Jmeter的Thread Group中将上面的8080改成9999.6、重新执行Jmeter,执行10分钟后,保存执行结果,得到如下的执行结果:对比调优后的执行结果,发现Tomcat的吞吐率得到了相当的提升,平均执行时间大大减少了。&Jmeter正则表达式使用(带实例) - 小刀刀 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
Jmeter正则表达式使用(带实例)
& 17:04:47
/ 个人分类:
引用名称:填写该的被引用的名称,可以填写一个有意义的名称正则表达式:填写一个正确的正则表达式,该正则表达式可以唯一定位要获取的值,如果和该正则表达式匹配的值有多个,则会出现混乱模板:此处填写$1$$1$$2$CRS利用正则表达式,在需要将多个项目联合起来组成一个完整的测试流程中,而且不同项目的某些数据会公用,在这样的测试计划中使用起来非常适合。&关注51Testing
Jmeter接口测试图文示例
发表于: 11:22 &作者:linky520 & 来源:51Testing软件测试网采编
推荐标签:
  8.添加CSV文件,路径为右击“根据单品编码查询上架状态的单品详情”-&添加-&配置元件-&CSV Data Set Config。  9.在CSV Data Set Config界面填写文件名、编码格式、参数名、分隔符,其它的取默认值。  注意:jmx文件和.txt(.csv)文件须放在同一目录。示例中的jmx文件和CSV文件放在D:\apache-jmeter-2.13\testplan,分隔符不填写时以,分隔,填写时以填写的符号进行分隔。  Filename: getObjectByCode.txt/getObjectByCode.csv  File encoding:utf-8  Variable Names(comma-delimited): appId,channel,channelIp,code,terminalType  Delimiter(use ‘\t’ for tab):,  10.在getObjectByCode.txt文件中填写有代表性的请求参数的值,包括正常值、异常值、空值。  11.getObjectByCode.txt文件中有12条请求参数值,设置循环次数为12,点击“根据单品编码查询上架状态的单品详情”,设置循环次数为12,其它的取默认值。  12.添加察看结果树,路径为右击“商品服务”-&添加-&监听器-&察看结果树。  13.点击启动按钮(绿色三角形),执行接口测试。  14.如果有多个线程组时,方便更清楚地查看结果,可以选择禁用其它线程组,启用当前线程组。  15.点击察看结果树-&设置响应数据显示格式为JSON-&点击任意一个HTTP请求-&点击响应数据,这样可以查看结果。  点击请求可以查看请求的参数是否正确。  点击清除和清除全部按钮都可以清除结果。  16.去测试数据库(172.18.1.149)查询HWG_PRT_SINGLE表,验证jmeter响应数据是正确:参数的数量、参数的值。  对应SQL命令为:SELECT * FROM HWG_PRT_SINGLE WHERE HWG_PRT_SINGLE.`SINGLE_CODE`='S'  17.jmeter接口测试过程中,可以在172.18.0.120上查看对应日志。对应的命令为:  cd /home/tomcat/tomcat-product/logs  tail -f catalina.out
官方活动:
搜索风云榜
51Testing官方微信
51Testing官方微博
测试知识全知道Jmeter做性能测试——HTTP请求 - 小刀刀 - 51Testing软件测试网 51Testing软件测试网-中国软件测试人的精神家园
Jmeter做性能测试——HTTP请求
& 15:13:07
/ 个人分类:
用最多的是http请求,要创建这个测试计划,你要做的第一步就是添加线程组元件,这个线程组会告诉JMeter你想虚拟的用户数量,发送请求的频率以及发送请求的数量。继续,首先,选中测试计划,右键单击选择添加菜单,然后再选择线程组打开线程组配置页面如下图所示:下一步,你需要修改缺省的值,如果你还没有选中它的话,在这个树里选中线程组。你现在应该可以在JMeter窗口的右边看到线程组控制面板(见下图)。首先给这个线程组起一个有意义的名字,在名字域里,输入“测试”.然后,在线程数里输入5,下一个输入域,Ramp_Up Period,保持不变。这个值是告诉JMeter在开始各个线程之间延迟多长时间。例如,如果你输入5,JMeter将会在5秒前完成该线程里的所有操作。因此,如果我们有5个线程和5秒Ramp_Up Period,延迟在开始线程之间会是1秒(5个线程/5秒=1秒)。如果你设置此值为0,JMeter则会立刻开始此线程的所有操作。最后,清除循环次数的复选项“永远”,然后输入2。这个值是告诉JMeter你的测试重复多少次。如果你输入1,那么JMeter只会运行一次你的测试。要不停的运行你的测试计划,选中“永远”复选框。在大多应用里,你必须手工接受你在控制面板里做的改动,但是,在JMeter里,控制面板能自动地接受你的变动如同你改动它们一样。如果你更改元件的名字,树将在你离开控制面板后被更新,以新文本显示(例如,当选择其它树元件)。HTTP这里利用一个虚拟的网址来说明如何建立http请求。给新添加的测试线程组添加第一个HTTP请求(添加-&取样器-& HTTP请求)。然后填写其属性,如下图所示:说明:名称:HTTP默认请求值该元素的名称  服务器名称或IP:l测试服务器的IP或者名字  端口号:80服务器提供服务的端口号,服务器是Tomcat,所以端口号是80  协议:http发送测试请求时使用的协议,通常都用HTTP协议方法:http请求中使用的方法,如get post等。你要测试服务器对http请求的相应,你首先需要确定该http请求中使用的是什么方法,确定方法:查看网页源代码或者jsp,查找“method”,代码中method后面的值就是http请求中使用到的方法  路径:此处填写你要测试的页面的路径,不包括服务器地址  同请求一起发送的参数:因为我测试的是登录,故添加了四个同请求一起发送的参数。要确定同请求一起发送的参数,你也需要查看网页源代码或者jsp,查找“input”,将该标签中的name值作为参数名,而将相应的value作为参数值。如下图所示:你还要给测试计划添加一个监视器。来将所有的HTTP请求结果存储到一个文件中并且显现出数据的可视模型。选择登录元件,然后添加一个图形结果监视器(添加-&监视器-&图形结果)。然后,你需要指定一个目录和一个输出的文件名。你可以输入到文件名域里,也可以选择“浏览”按钮来浏览目录并输入文件名。&关注51Testing
Jmeter性能测试报告解析
发表于: 13:15 &作者:潇洒的阔爷 & 来源:51Testing软件测试网采编
推荐标签:
  报告解析  1、Aggregate Report 解析  Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为“聚合报告”。今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下,以备大家查阅。  如果大家都是做Web应用的,例如只有一个登录的请求,那么在Aggregate Report中,会显示一行数据,共有10个字段,含义分别如下。  Label:每个 JMeter 的 element(例如 HTTP Request)都有一个 Name 属性,这里显示的就是 Name 属性的值  #Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100  Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 Transaction Controller 时,也可以以Transaction 为单位显示平均响应时间  Median:中位数,也就是 50% 用户的响应时间  90% Line:90% 用户的响应时间  Note:关于 50% 和 90% 并发用户数的含义,请参考下文  /jackei/archive//557972.html  Min:最小响应时间  Max:最大响应时间  Error%:本次测试中出现错误的请求的数量/请求的总数  Throughput:吞吐量——默认情况下表示每秒完成的请求数(Request per Second),当使用了 Transaction Controller 时,也可以表示类似
的 Transaction per Second 数  KB/Sec:每秒从服务器端接收到的数据量,相当于LoadRunner中的Throughput/Sec  基本知识:  1、吞吐量:是指在没有帧丢失的情况下,设备能够接受的最大速率。  2、存储的最小单位是字节Byte,对于存储单位,有以下几个单位,GB、MB和KB,那么这三者之间的换算关系是:1GB=1024MB,1MB=1024KB,1KB=1024Bytes。  Bit :“位”,称为bit,也就是比特,有的时候也称为位。一个字节为8位二进制表示。  Byte:“字节”,一个字节就是8比特。  3、Mbps (million bits per second 兆位/秒) 代表每秒传输1,000,000比特。该缩写用来描述数据传输速度。例如:4Mbps=每秒钟传输4M比特。  数据传输速率的单位,字母b(bit)是比特和字母 B (Byte)是字节。  4、吞吐量与带宽的区分:吞吐量和带宽是很容易搞混的一个词,两者的单位都是Mbps.先让我们来看两者对应的英语,吞吐量: 带宽: Max net bitrate 。当我们讨论通信链路的带宽时,一般是指链路上每秒所能传送的比特数。我们可以说以太网的带宽是10Mbps。但是,我们需要区分链路上的可用带宽(带宽)与实际链路中每秒所能传送的比特数(吞吐量)。我们倾向于用“吞吐量”一次来表示一个系统的测试性能。这样,因为实现受各种低效率因素的影响,所以由一段带宽为10Mbps的链路连接的一对节点可能只达到2Mbps的吞吐量。这样就意味着,一个主机上的应用能够以2Mbps的速度向另外的一个主机发送数据。  5、方差和标准差都是用来描述一组数据的波动性的(集中还是分散),标准差的平方就是方差。方差越大,数据的波动越大。
官方活动:
搜索风云榜
51Testing官方微信
51Testing官方微博
测试知识全知道}

我要回帖

更多关于 jmeter监控服务器性能 的文章

更多推荐

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

点击添加站长微信