H3CCASJMeter性能测试操作指导书Copyright2015杭州华三通信技术有限公司版权所有,保留一切权利.
非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播.
本文档中的信息可能变动,恕不另行通知.
i目录1简介·······························································································································12配置前提·························································································································13配置环境·························································································································13.
1服务器·························································································································13.
2软件···························································································································14组网需求·························································································································25测试步骤·························································································································25.
1准备测试环境················································································································25.
1.
1准备测试虚拟机····································································································25.
1.
2准备测试工具运行环境···························································································45.
1.
3准备JMeter测试工具····························································································65.
1.
4准备Web服务器··································································································65.
2配置性能加压工具··········································································································85.
3测试不同并发用户时的性能····························································································125.
3.
110000并发用户··································································································125.
3.
220000并发用户··································································································135.
3.
330000并发用户··································································································145.
3.
450000并发用户··································································································166经验总结·······················································································································176.
1JMeter和Tomcat服务内存配置······················································································176.
2虚拟机内存/vCPU数量对并发性能的影响··········································································1811简介本文档用于介绍H3CCAS云计算管理平台下使用JMeter工具测试性能的使用方法和操作步骤.
JMeter是Apache组织开发的基于Java的压力测试工具,最早是为了测试Tomcat的前身JServ的执行效率而开发的,目前最新版本是2.
13,其测试能力也不再局限于对Web服务器的测试,而是涵盖数据库、JMS、WebService、LDAP等多种对象的测试能力.
使用JMeter测试工具,可以模拟大量负载来测试应用系统的健壮性及分析不同负载下的整体性能.
2配置前提本文档中的配置均是在实验室环境下进行的配置和验证,配置前服务器和软件的所有参数均采用出厂时的缺省配置.
如果您已经对被测试对象进行了配置,为了保证配置效果,请确认现有配置和以下举例中的配置不冲突.
3配置环境3.
1服务器本文档不严格与具体硬件服务器型号对应,如果使用过程中与产品实际情况有差异,请参考相关产品手册,或以设备实际情况为准.
本文档使用的服务器型号与配置如下表所示,该环境不作为实际部署时的强制环境或推荐环境,只需要服务器能够兼容H3CCAS云计算管理平台即可完成本配置.
配置项说明服务器#1(H3CCASCVM虚拟化管理平台)H3CFlexServerB390CPU:2路6核,IntelXeonE5-26200@2.
00GHz内存:32GB服务器#2(H3CCASCVK虚拟化内核系统)HPProLiantBL460cG7CPU:2路6核,IntelXeonX5675@3.
07GHz内存:96GB3.
2软件软件版本服务器虚拟化管理软件H3CCAS-E0218(KVMKernel3.
13.
6)JavaSDKJavaSEDevelopmentKit8u66Windows64位版本,下载地址:http://www.
oracle.
com/technetwork/java/javase/downloads/jdk8-downloads-2133151.
htmlWeb服务器Tomcat8.
0.
29Windows64位版本,下载地址:http://tomcat.
apache.
org/download-80.
cgi性能测试工具JMeter2.
13R1665067Windows64位版本,下载地址:http://jmeter.
apache.
org/download_jmeter.
cgi24组网需求图1使用JMeter进行性能测试逻辑组网图组网说明:(1)服务器#1和服务器#2分别安装H3CCASCVM虚拟化管理平台与H3CCASCVK虚拟化内核系统,后端没有挂载共享存储设备,使用服务器#2本地磁盘承载虚拟机数据.
(2)在服务器#2上创建新的虚拟机,安装WindowsServer2008R2数据中心版64位操作系统、Tomcat服务器和JMeter性能测试工具.
主要的验证项包括:(1)在VM上使用JMeter性能测试工具分别模拟1万、2万、3万和5万用户并发访问虚拟机,观察和记录并发用户访问情况下的HTTP请求与响应时间以及吞吐量.
(2)尝试不同虚拟机资源(vCPU和内存)配置情况下的并发用户访问性能差异.
5测试步骤5.
1准备测试环境5.
1.
1准备测试虚拟机步骤1创建虚拟机.
#系统管理员登录H3CCASCVM虚拟化管理平台,在服务器#2上创建一个新的虚拟机,虚拟机硬件资源配置如下表所示.
资源大小vCPU2核vMem8GB3vDisk1*50GB(Virtio),位于服务器本地磁盘.
vNIC1(Virtio),开启内核加速上述虚拟机资源配置仅为测试环境下的配置,不作为生产环境中业务虚拟机的推荐配置.
生产环境中的虚拟机配置应该根据业务本身对CPU、内存、磁盘和网卡等资源的实际需求进行评估和测试后最终确定.
步骤2安装虚拟机操作系统.
#通过控制台(VNC)为虚拟机安装WindowsServer2008R2数据中心版64位操作系统.
步骤3安装CAStools工具.
#在H3CCASCVM虚拟化管理平台中,在线修改虚拟机,为虚拟机挂载CAStools工具,并在操作系统内安装CAStools工具.
图2在虚拟机光驱中挂载CAStools工具45.
1.
2准备测试工具运行环境步骤1下载和安装JDK运行环境.
JMeter的运行环境需要与JVM6或更高版本兼容.
#从Oracle官网下载JDK,本文档使用Windows64位环境下的JDK8Update66,下载地址为:http://www.
oracle.
com/technetwork/java/javase/downloads/jdk8-downloads-2133151.
html.
#将下载后的JDK包拷贝到虚拟机操作系统内,并安装.
步骤2设置Java环境变量.
#在虚拟机操作系统内,鼠标依次点击"我的电脑"->"属性"->"高级"->"环境变量".
#在"系统变量"属性框中,点击按钮,在弹出的"新建系统变量"对话框中,输入"变量名"为"JAVA_HOME","变量值"为JDK安装路径,例如:"C:\ProgramFiles\Java\jdk1.
8.
0_66\",点击按钮.
图3设置Java环境变量:Java安装路径#编辑系统变量"Path",在"变量值"的最前面加上:"%JAVA_HOME%\bin;",点击按钮.
5图4编辑系统变量#新建系统变量"CLASSPATH",变量值为"%JAVA_HOME%\lib",使Java自动从目录中发现jar文件类.
图5设置Java环境变量:设置jar文件类路径65.
1.
3准备JMeter测试工具步骤1下载和安装JMeter测试工具.
#登录ApacheJMeter官网,下载JMeter测试工具,本文档使用JMeter2.
13版本,下载地址为:http://jmeter.
apache.
org/download_jmeter.
cgi#将下载后的JMeter压缩包拷贝到虚拟机操作系统内,并解压缩到任意磁盘路径下,例如:"C:\jmeter\".
5.
1.
4准备Web服务器JMeter的加压对象是一个Web服务器,本文档使用Tomcat构建Web服务器.
步骤1安装Tomcat服务.
#登录ApacheTomcat官网,下载Tomcat软件,本文档使用Tomcat8.
0.
29版本,下载地址为:http://tomcat.
apache.
org/download-80.
cgi#将下载后的Tomcat压缩包拷贝到虚拟机操作系统内,并解压缩到任意磁盘路径下,例如:"C:\tomcat\".
步骤2设置Tomcat服务环境变量.
#在虚拟机操作系统内,鼠标依次点击"我的电脑"->"属性"->"高级"->"环境变量".
#在"系统变量"属性框中,点击按钮,在弹出的"新建系统变量"对话框中,输入"变量名"为"CATALINA_HOME","变量值"为Tomcat安装路径,例如:"C:\tomcat\apache-tomcat-8.
0.
29",点击按钮.
图6设置Tomcat环境变量:Tomcat安装路径7#编辑系统变量"Path",添加变量值:"%CATALINA_HOME%\lib;%CATALINA_HOME%\bin;",点击按钮.
图7编辑系统变量#在"资源管理器"中,定位到目录"C:\tomcat\apache-tomcat-8.
0.
29\bin\"目录,右键单击"startup.
bat"文件,选择"以管理员身份运行(A)".
图8启动Tomcat服务8#当弹出的命令行窗口显示如下图所示时,表示Tomcat服务已经正常启动.
图9Tomcat服务后台执行日志#服务安装成功之后,使用浏览器访问"http://localhost:8080/"可以看到Tomcat的欢迎界面.
图10安装成功之后的TomcatWeb服务5.
2配置性能加压工具步骤1启动JMeter测试工具9#进入JMeter所在的文件路径,例如:"C:\jmeter\apache-jmeter-2.
13\",在"bin"目录下找到"jmeter.
bat"文件,点击鼠标右键,选择"以管理员身份运行(A)".
图11运行JMeter工具步骤2建立线程组.
#在JMeterGUI界面上,右键单击"测试计划",依次选择"添加"->"Threads(Users)"->"线程组".
图12建立线程组10#配置线程属性,设置"线程数"为10000,表示并发请求用户数为1万,"Ramp-UpPeriod(inseconds)"为60,表示1万个用户在60秒内完成并发请求,平均1秒完成167个用户的并发请求,"循环次数"设置为1.
图13设置线程组步骤3设置HTTP请求.
#右键单击"线程组",依次选择"添加"->"Sampler"->"HTTP请求".
图14设置HTTP请求#分别设置"Web服务器"属性框的"服务器名称或IP"和"端口号"为"localhost"和"8080",表示对本机Tomcat服务首界面链接进行压力访问.
11图15设置HTTP请求步骤4设置输出报告类型.
#右键单击"HTTP请求",依次选择"添加"->"监听器"->"AggregateGraph",表示测试结果以聚合报告的形式输出.
图16设置性能输出报告类型125.
3测试不同并发用户时的性能5.
3.
110000并发用户步骤1启动压力测试.
#因为在"配置性能加压工具"一节中,我们已经设置了线程数为"10000",因此,直接在JMeterGUI主界面中工具栏中点击""图标,即可开始并发10000用户的压力测试.
步骤2观察与记录测试结果.
#加压结束之后,在JMeterGUI聚合报告视图中,可以看到此次加压测试的统计结果.
图1710000用户并发访问的测试结果指标项含义#Samples测试过程中发出的请求数,如果模拟10000个用户,每个用户迭代1次,此处就显示10000.
Average(值越小越好)平均响应时间.
默认情况下是单个Request的平均响应时间,当使用了TransactionController时,则是以Transaction为单位显示平均响应时间.
Median(值越小越好)中位数,即50%用户的请求响应时间.
90%Line(值越小越好)90%用户的请求响应时间.
95%Line(值越小越好)95%用户的请求响应时间.
99%Line(值越小越好)99%用户的请求响应时间.
13Min(值越小越好)最小响应时间.
Max(值越小越好)最大响应时间Error%(值越小越好)此次测试中出现错误的请求的数量与请求总量的比例.
Throughput(值越大越好)吞吐量.
默认情况下表示每秒完成的请求数,当使用了TransactionController时,则表示类似LoadRunner的TransactionperSecond.
KB/Sec(值越大越好)每秒从服务器端接收到的数据量,相当于LoadRunner的Throughput/Sec.
步骤3对比加压前后虚拟机的CPU与内存利用率.
CPU(%)内存(%)加压前0.
5%8%加压后50%~80%25%~30%5.
3.
220000并发用户步骤1配置线程属性.
#在JMeterGUI界面上修改线程属性,设置"线程数"为20000,表示并发请求用户数为2万,"Ramp-UpPeriod(inseconds)"为200,表示2万个用户在120秒内完成并发请求,平均1秒完成167个用户的并发请求,"循环次数"设置为1.
图18并发20000用户线程属性配置步骤2观察与记录测试结果.
14#加压结束之后,在JMeterGUI聚合报告视图中,可以看到此次加压测试的统计结果.
图1920000用户并发访问的测试结果步骤3对比加压前后虚拟机的CPU与内存利用率.
CPU(%)内存(%)加压前0.
5%8%加压后50%80%5.
3.
330000并发用户步骤1配置线程属性.
#在JMeterGUI界面上修改线程属性,设置"线程数"为30000,表示并发请求用户数为3万,"Ramp-UpPeriod(inseconds)"为300,表示3万个用户在300秒内完成并发请求,平均1秒完成167个用户的并发请求,"循环次数"设置为1.
15图20并发30000用户线程属性配置步骤2观察与记录测试结果.
#加压结束之后,在JMeterGUI聚合报告视图中,可以看到此次加压测试的统计结果,从聚合报告可以看出,有大约0.
16%(约4800个用户)的HTTP请求失败.
图2130000用户并发访问的测试结果16步骤3对比加压前后虚拟机的CPU与内存利用率.
从内存占用情况看,内存峰值达到100%,要使30000个用户请求全部成功,可能需要添加虚拟机的内存.
CPU(%)内存(%)加压前0.
5%15%加压后50%左右振荡85%~100%5.
3.
450000并发用户步骤1配置线程属性.
#在JMeterGUI界面上修改线程属性,设置"线程数"为50000,表示并发请求用户数为5万,"Ramp-UpPeriod(inseconds)"为500,表示5万个用户在500秒内完成并发请求,平均1秒完成167个用户的并发请求,"循环次数"设置为1.
图22并发50000用户线程属性配置步骤2观察与记录测试结果.
#加压结束之后,在JMeterGUI聚合报告视图中,可以看到此次加压测试的统计结果,从聚合报告可以看出,有大约12.
42%(约6210个用户)的HTTP请求失败.
17图2350000用户并发访问的测试结果步骤3对比加压前后虚拟机的CPU与内存利用率.
从内存占用情况看,内存峰值达到100%,要使50000个用户请求全部成功,可能需要添加虚拟机的内存.
CPU(%)内存(%)加压前0.
5%15%加压后振荡不固定80%~100%6经验总结6.
1JMeter和Tomcat服务内存配置调整JMeter的默认内存分配量对测试结果影响较大.
默认情况下,当上万个用户同一时刻并发访问时,可能会造成JMeter服务内存溢出和TomcatWeb服务内存溢出,此时,可以通过调整JMeter和Tomcat的配置文件解决.
(1)调整JMeter配置文件用文本编辑工具打开JMeter批处理文件,文件全路径为%JMETER_HOME%\bin\jmeter.
bat,将HEAP和NEW参数调整为:remSeetheunixstartupfilefortherationaleofthefollowingparameters,remincludingsometuningrecommendationssetHEAP=-Xms1024m-Xmx8192m18setNEW=-XX:NewSize=512m-XX:MaxNewSize=4096m其中,Xms表示初始分配的堆内存;Xmx表示最大允许分配的堆内存,按需分配;NewSize表示内存不足时,分配的新的内存;MaxNewSize表示内存不足时,最大可分配的内存大小.
(2)调整Tomcat配置文件用文本编辑工具打开Tomcat批处理文件,文件全路径为%CATALINA_HOME%\bin\catalina.
bat,增加如下行:remGuessCATALINA_HOMEifnotdefinedset"CURRENT_DIR=%cd%"setJAVA_OPTS=-server-Xms1024m-Xmx8192m6.
2虚拟机内存/vCPU数量对并发性能的影响从30000用户和50000用户并发压力测试情况看,加压期间,虚拟机内存峰值到达100%.
为了验证虚拟机内存对大并发性能的影响,本文档首先在线为被测试虚拟机增加内存至16GB,对比8GB内存与16GB内存情况下的性能.
步骤1扩容虚拟机内存.
#系统管理员登录H3CCASCVM虚拟化管理平台,修改虚拟机,改变虚拟机内存容量为16GB.
图24扩容虚拟机内存19步骤2运行与8GB内存时完全相同线程配置的HTTP并发请求.
#在测试的时候,发现虚拟机CPU利用率一直为100%,而内存利用率维持在70%~80%之间,而JMeter聚合报告中已经出现了HTTP请求失败的记录,因此,怀疑CPU资源不足以满足Tomcat服务器的要求.
图25调大内存配置之后50000用户加压时的虚拟机资源利用率步骤3对比8GB内存与16GB内存时的性能.
图26虚拟机配置16GB内存时的JMeter性能报告20虚拟机配置(2vCPU,8GB内存)虚拟机配置(2vCPU,16GB内存)#Samples5000050000Average(值越小越好)40685242Median(值越小越好)2490%Line(值越小越好)118992710395%Line(值越小越好)305633509999%Line(值越小越好)5609476895Min(值越小越好)00Max(值越小越好)745243103276Error%(值越小越好)12.
42%7.
55%Throughput(值越大越好)12.
690.
6KB/Sec(值越大越好)128.
5966.
7从对比结果分析,增加虚拟机内存能够降低HTTP请求出错率,提高吞吐量和服务器端接收到请求的数据量.
步骤4扩容虚拟机vCPU.
#系统管理员登录H3CCASCVM虚拟化管理平台,修改虚拟机,改变虚拟机CPU为1路8核.
步骤5运行与16GB内存时完全相同线程配置的HTTP并发请求.
#加压期间,在H3CCASCVM虚拟化管理平台上观察虚拟机的资源占用情况,可以清楚地看到CPU利用率在10%左右震荡,内存利用率稳定时维持在50%左右.
图27调大CPU配置之后50000用户加压时的虚拟机资源利用率21图28虚拟机配置8vCPU时的JMeter性能报告从测试结果看,增加虚拟机vCPU数量对JMeter的并发访问性能提升是极其明显的,不仅没有出现一次HTTP请求失败的情况,而且,所有指标项都明显好于低配置情况下的并发性能.
虚拟机配置(2vCPU,8GB内存)虚拟机配置(2vCPU,16GB内存)虚拟机配置(8vCPU,16GB内存)#Samples500005000050000Average(值越小越好)4068524218Median(值越小越好)24290%Line(值越小越好)1189927103295%Line(值越小越好)3056335099399%Line(值越小越好)560947689545Min(值越小越好)000Max(值越小越好)7452431032763221Error%(值越小越好)12.
42%7.
55%0.
00%Throughput(值越大越好)12.
690.
692.
1KB/Sec(值越大越好)128.
5966.
71045
WordPress经典外贸企业建站主题,经典配色扁平化简约设计+跨屏自适应移动端设备,特色外贸企业建站功能模块+在线Inquiry询单功能,更有利于Google等英文搜索优化和站点收录。采用标准的HTML5+CSS3语言开发,兼容当下的各种主流浏览器: IE 6+(以及类似360、遨游等基于IE内核的)、Firefox、Google Chrome、Safari、Opera等;同时支持移动终端的常用...
hosteons当前对美国洛杉矶、达拉斯、纽约数据中心的VPS进行特别的促销活动:(1)免费从1Gbps升级到10Gbps带宽,(2)Free Blesta License授权,(3)Windows server 2019授权,要求从2G内存起,而且是年付。 官方网站:https://www.hosteons.com 使用优惠码:zhujicepingEDDB10G,可以获得: 免费升级10...
DMIT.io是成立于2018年的一家国外主机商,提供VPS主机和独立服务器租用,数据中心包括中国香港、美国洛杉矶和日本等,其中日本VPS是新上的节点,基于KVM架构,国际线路,1Gbps带宽,同时提供月付循环8折优惠码,或者年付一次性5折优惠码,优惠后最低每月8.72美元或者首年65.4美元起,支持使用PayPal或者支付宝等付款方式。下面列出部分日本VPS主机配置信息,价格以月付为例。CPU:...
性能测试为你推荐
网红名字被抢注我想问这个网红 名字叫什么 讲一下谢谢了广东GDP破10万亿__年,我国国内生产总值(GDP)首破10万亿元.目前,我国经济总量排名世界第___位?钟神发跪求钟神发名言出处,A站大神看过来www.haole012.com012.qq.com是真的吗789se.comhttp://gv789.com/index.php这个网站可信吗?是真的还是假的!www.5any.com重庆哪里有不是全日制的大学?ip查询器查看自己IP的指令bbs2.99nets.com这个"风情东南亚"网站有78kg.cn做网址又用bbs.风情东南亚.cn那么多此一举啊!www.ca800.comPLC好学吗javlibrary.comImage Library Sell Photos Digital Photos Photo Sharing Photo Restoration Digital Photos Photo Albums
山东vps hawkhost ubuntu更新源 嘉洲服务器 云全民 京东商城0元抢购 百兆独享 phpmyadmin配置 广州服务器 创建邮箱 镇江高防 .htaccess register.com 美国十大啦 godaddy中文 卡巴下载 rsync 回程 赵荣博客 ddos攻击软件 更多