虚拟机性能测试

性能测试  时间:2021-04-01  阅读:()
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

Ftech:越南vps,2核/2G/20G SSD/1Gbps不限流量/可安装Windows系统,$12.5月

ftech怎么样?ftech是一家越南本土的主机商,成立于2011年,比较低调,国内知道的人比较少。FTECH.VN以极低的成本提供高质量服务的领先提供商之一。主营虚拟主机、VPS、独立服务器、域名等传统的IDC业务,数据中心分布在河内和胡志明市。其中,VPS提供1G的共享带宽,且不限流量,还可以安装Windows server2003/2008的系统。Ftech支持信用卡、Paypal等付款,但...

buyvm美国大硬盘VPS,1Gbps带宽不限流量

buyvm正式对外开卖第四个数据中心“迈阿密”的块存储服务,和前面拉斯维加斯、纽约、卢森堡一样,依旧是每256G硬盘仅需1.25美元/月,最大支持10T硬盘。配合buyvm自己的VPS,1Gbps带宽、不限流量,在vps上挂载块存储之后就可以用来做数据备份、文件下载、刷BT等一系列工作。官方网站:https://buyvm.net支持信用卡、PayPal、支付宝付款,支付宝付款用的是加元汇率,貌似...

IMIDC日本多IP服务器$88/月起,E3-123x/16GB/512G SSD/30M带宽

IMIDC是一家香港本土运营商,商家名为彩虹数据(Rainbow Cloud),全线产品自营,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非等地机房,CN2网络直连到中国大陆。目前主机商针对日本独立服务器做促销活动,而且提供/28 IPv4,国内直连带宽优惠后每月仅88美元起。JP Multiple IP Customize...

性能测试为你推荐
太空国家国际空间站有哪些国家的人?梦之队官网NBA梦之队在哪下载?原代码源代码是什么意思啊钟神发战旗TV ID:新年快乐丶未央不见是哪个主播5xoy.comhttp://www.5yau.com (舞与伦比),以前是这个地址,后来更新了,很长时间没玩了,谁知道现在的地址? 谢谢,www.mfav.org手机登录WWW.brcbc.org 能注册么dpscycle国服魔兽WLK,有什么适合死亡骑士的插件?222cc.com怎样开通网站啊干支论坛2018天干地支数值是多少?4399宠物连连看2.5我是华为手机,想下载宠物连连看2.5单机游戏
高防服务器租用选锐一 pw域名 站群服务器 Hello图床 国内加速器 合租空间 股票老左 免费网页申请 国外视频网站有哪些 双线asp空间 lamp什么意思 网站加速 买空间网 服务器硬件配置 windowsserver2008 reboot cc加速器 美国vpn服务器 阿里云宕机故障 美国达拉斯 更多