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
爱用云互联怎么样?爱用云是一家成立于2018年的老牌商家旗下的服务器销售品牌,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端...
VPSDime是2013年成立的国外VPS主机商,以大内存闻名业界,主营基于OpenVZ和KVM虚拟化的Linux套餐,大内存、10Gbps大带宽、大硬盘,有美国西雅图、达拉斯、新泽西、英国、荷兰机房可选。在上个月搞了一款达拉斯Linux系统VPS促销,详情查看:VPSDime夏季促销:美国达拉斯VPS/2G内存/2核/20gSSD/1T流量/$20/年,此次推出一款Windows VPS,依然是...
乌云数据主营高性价比国内外云服务器,物理机,本着机器为主服务为辅的运营理念,将客户的体验放在第一位,提供性价比最高的云服务器,帮助各位站长上云,同时我们深知新人站长的不易,特此提供永久免费虚拟主机,已提供两年之久,帮助了上万名站长从零上云官网:https://wuvps.cn迎国庆豪礼一多款机型史上最低价,续费不加价 尽在wuvps.cn香港cera机房,香港沙田机房,超低延迟CN2线路地区CPU...
性能测试为你推荐
哈利波特罗恩升级当爸哈利波特和罗恩的相同处和不同处特朗普取消访问丹麦特朗普专机抵达日本安保警力情形如何?怎么查询商标怎样查询商标有没有被注册方法有哪些?firetrap我淘宝店还是卖二单就被删,怎么回事!刘祚天Mc浩然的资料以及百科谁知道?嘀动网动网和爱动网各自的优势是什么?rawtools相机中的RAW是什么意思?www.bbb336.comwww.zzfyx.com大家感觉这个网站咋样,给俺看看呀。多提意见哦。哈哈。777k7.comwww 地址 777rv怎么打不开了,还有好看的吗>com8090lu.com8090lu.com怎么样了?工程有进展吗?
域名信息查询 重庆服务器租用 视频空间租用 z.com 阿里云代金券 php空间申请 国外代理服务器软件 cdn网站加速 阿里dns apnic 睿云 phpinfo 架设代理服务器 phpwind论坛 免费服务器 以下 byebyelove 大容量存储模式 竞彩论坛空间 西部数码空间购买 更多