从去年的公有云主机产品测试中我们可以了解,目前虽然公有云主机还有一些计算能力偏低、系统资源占用较多的不足,但是已经基本可以满足用户在网页、APP乃至数据库等常规业务应用需求。然而还缺乏对公有云主机的业务稳定性和可扩展性的进一步测试。因此,在2019年的公有云评测中,至顶网云能力小组将在对去年所发现问题进行复测的基础上,增加对公有云主机高可靠性和可扩展性的评测,AWS公有云云主机测试报告如下:
在本次测试中,依然选择的是适用于Web应用的2核4G公有云主机进行测试,测试系统盘大小为公有云厂商默认,公网带宽为5MB,操作系统为CentOS,Web服务为apache,为了更好模拟普通用户应用,在本次测试中,我们采用第三方开源建站工具WordPress完成测试网站搭建工作,并进行测试。
本次AWS公有云主机测试中,至顶网云能力评估小组选择的是AWS北京区域通用型t2.medium云主机进行评测。
为了更好的对测试云主机业务应用响应能力进行分析,在本次测试中,选用了博睿数据的应用性能监测工具对云主机应用处理能力进行监测。
在本项测试中,我们采用正常网络应用访问的方式以在两小时内发起了5000次的网页连接请求的方式,对AWS云主机的Web应用的正常应用流量访问能力进行测试。并通过博睿数据的应用性能监测工具所记录的应用平均响应时间、请求发生次数以及CPU、内存占用情况,对云主机正常Web应用处理能力进行测试。
博睿数据应用性能监测工具自动生成拓扑及平均响应时间、请求发生次数截图
请求发生次数
通过上面博睿数据应用性能监测工具自动生成拓扑及平均响应时间、请求发生次数截图可以了解,在10点到12点这个时段,总共发生了5724次应用请求,其中在10点40到10点50左右时段请求次数达到1828次(每分钟),在快结束时段又出现一个小的高峰外,其它时段,基本保持在300次左右,平均请求速率为44.0次/分钟。
平均响应时间
在平均响应时间的统计中可以了解,AWS云主机的平均响应时间平均在30毫秒,统计曲线记录结果基本在28毫秒以下。在业务状态统计中,有1次业务请求较慢和1次业务请求很慢情况出现,最大响应时间为4835毫秒。
附注:
通过对业务过程中的平均响应时间最慢界面查询可以发现,最慢两次调用出现在/wordpress/wp-cron.php这个文件的调用上,疑似第三方开源建站工具WordPress文件调用问题导致此平均响应时间过长出现,但考虑到出现次数较少,尚未对测试结果产生过大影响,因此在测试中只对平均响应时间比较,不再对最大响应时间进行过多对比。
CPU使用率及内存占用情况
AWS云主机的正常应用流量测试CPU使用率及内存占用情况与请求发生次数相符,也是在10点45左右达到顶峰。CPU总使用率最高为16.05%,其中User的使用率为12.16%,随后反复在10%以内波动。内存占用最大为2.39GB,随着流量降低回复到745MB左右。
为了让有限的带宽不成为本次测试瓶颈,在本次测试的网页文件中,并没有设置过多的图片文件,整体网页文件大小偏小,因此本次测试中的网络吞吐量并不是很高,最高达到了3.6MB/s左右。
为了对公有云主机在较高并发流量同时进行访问的处理性能进行更深入了解,在本次测试中,还使用Apache ab同样对AWS云主机的Web应用性能同样进行了测试,同样为了使高并发测试时,流量不成为瓶颈,在本次测试中是在本机运行ab命令,并对自身进行测试博睿数据应用性能监测工具自动生成拓扑及平均响应时间、请求发生次数如下。
在本次测试中采用ab同时保持50个用户访问(ab参数-c 50)并建立1万连接和间隔数分钟后再发起同时保持50个用户访问并建立10万连接的方式对AWS云主机高并发流量应用处理能力进行测试。
请求发生次数
通过上面博睿数据应用性能监测工具自动生成拓扑及平均响应时间、请求发生次数截图可以了解,在14点到14点20分这个测试时段,总共发生了14712次应用请求。由于博睿数据请求发生次数统计在CPU占用达到98%以上时会暂时停止对请求发生次数的统计,因此与ab测试请求结果相差较大,所记录的整个测试时段平均请求次数为445.8次/分钟,最高为5805次(每分钟)。
为此,在本次测试中又对Apache ab测试结果中Requests per second结果进行了统计,测试结果参见Apache ab 10000请求测试结果截图与Apache ab 100000请求测试结果截图。
Apache ab 10000请求测试结果截图
Apache ab 100000请求测试结果截图
通过Apache ab 10000请求测试与Apache ab 100000请求测试中,Requests per second测试结果分别为97.04 Requests/s与103.41 Requests/s换算成每分钟,成绩分别为?5,822.4?Requests/s与6204.6Requests/s。
平均响应时间
在平均响应时间的统计中可以了解,伴随着请求压力的提升AWS云主机的平均响应时间平均增大到514毫秒和Apache ab上统计结果相近(参见Apache ab 测试结果截图),而最大响应时间为1412毫秒(产生原因和正常应用流量最大响应时间相同)。
CPU使用率及内存占用情况
AWS云主机的正常应用流量测试CPU使用率及内存占用情况与ab请求发生次数相符,在ab应用请求发起后,CPU使用率迅速提升至顶,随ab第一次测试结束而下降,并在第二次测试开始后再次冲顶并持续到测试结束。CPU总使用率最高为99.49%,其中User的使用率为92.39%,随后随着流量降低恢复正常。
内存占用情况也大致相同,但由于在本机使用ab测试,占用一定内存资源,因此基本内存使用量达到1004MB左右,在测试时,由于IP地址固定,因此内存提升程度反而比正常流量低,只达到了1.46GB左右。
在计算能力测试中,为了方便和去年测试结果进行比较,在本次测试中依然采用Geekbench 3.4.2 for Linux x86 (64-bit)对公有云主机计算能力进行测试。同时为了对更多新业务处理能力进行评估,同时采用Geekbench 4.3.3 for Linux x86 (64-bit)对公有云主机计算能力进行评测。
通过去年AWS公有云主机测试成绩(可参见2018公有云测试AWSGeekbench测试)与今年的测试成绩对比可以了解,AWS公有云主机Geekbench的计算性能与去年成绩相近,单核性能为2864双核处理能力提升到5573的成绩。单核性能与双核性能近乎成倍提升。
2019公有云测试AWSGeekbench 3测试截图
2018公有云测试AWSGeekbench 3测试截图
与Geekbench 3相比,Geekbench 4所设置的测试项目与当前主流应用更加贴切,在评分时提升了整数计算的占分比例,并且新增了例如HTML5、PDF等更加适用的测试项目。因此在本次测试中,同样采用Geekbench 4对公有云主机的计算能力进行了测试。
在Geekbench 4的测试中,AWS公有云主机的单核测试成绩为3283,要明显高于Geekbench 3的测试结果,双核成绩为6158,也比Geekbench3成绩有较大提升。
在公有云主机的系统盘上,不但存放着云主机的操作系统,有些用户同样也会将一些应用数据存储在系统盘之上,比如本次测试就是如此。因此在本次测试中同样对公有云主机的系统盘数据处理能力和传输带宽进行了测试。在测试过程中采用Linux下的fio工具进行测试,分别对公有云主机的4KB随机读、写的IOPS性能和10MB顺序读、写的带宽性能进行了测试,测试结果如下:
在AWS系统盘4K随机读IOPS测试结果中,其读IOPS平均成绩为13923.12,最高IOPS 42872,最低IOPS 12232,在连续记录的IOPS成绩中,IOPS传输情况非常平稳,每秒钟数据块传输相差不大。
在AWS系统盘4K随机写IOPS测试结果中,其读IOPS平均成绩为2735.12,最高IOPS 9160,最低IOPS 1716,在连续记录的IOPS成绩中,IOPS传输有一定波动,但基本还算平稳。
在AWS系统盘10M顺序读带宽测试结果中,其顺序读带宽平均成绩为70584.42KiB/s,最高带宽81920KiB/s,最低带宽20480KiB/s,在连续记录的带宽成绩中,带宽传输比较平稳。
在AWS系统盘10M顺序写带宽测试结果中,其顺序写带宽平均成绩为62454KiB/s,最高带宽81920KiB/s,最低带宽40878KiB/s,在连续记录的带宽成绩中,带宽传输比较平稳。
单台云主机的应用处理能力毕竟有限,因此在公有云上部署企业业务时,必须先考虑到可扩展性的问题。下面就对AWS公有云主机的这扩展能力进行一下分析,并同时对公有云主机的重新启动时间进行测试。
AWS在对增加云主机数量上考虑也是比较周全。具有一个专门的弹性伸缩功能模块Amazon EC2 Auto Scaling。帮助用户确保拥有适量的Amazon EC2实例,用于处理应用程序负载。
Auto Scaling组件可以通过设置组、配置板板、配置扩展选项这些关键组件设置后实现公有云主机弹性扩展功能。
在重启时间测试中,至顶网云能力评估小组采用对公有云主机外网IP长ping,并在命令行输入reboot的方式,通过统计丢失ping包个数,了解公有云主机的重新启动时间。
测试结果显示,在重启时间测试中,AWS云主机重启时仅有7个ping包丢失,重启时间耗时相对较长。
通过上面测试结果可以看出,AWS公有云主机可以非常顺畅的对Web应用正常流量进行处理。即便在流量产生突发性激增时,虽然会让CPU使用率与内存占用产生相应增长,但在业务状态统计中,并没有大范围业务请求很慢情况出现。平均响应时间也始终保持在28毫秒左右的平均线上下,显示出了十分稳定的Web正常应用处理能力。
在通过Apache ab进行的非正常应用测试中,AWS云主机在CPU被大量连接请求迅速打满的情况下,依然可以在整个测试过程中正常的为应用请求提供服务,显示出了出色的Web应用服务稳定性。
在计算能力测试中,AWS云主机的计算性能结果与去年相比差别不大。
在系统盘存储性能测试中,AWS云主机的随机读与写IOPS性能有5倍以上的差距,差距较大,希望以后在读、写IOPS性能上可以做出更好的匹配。
在可扩展能力上,AWS云主机可以用弹性扩展的方式增加公有云主机公网带宽,并且可以很方便快捷的对云主机配置进行更改。更主要的是在AWS云主机的横向扩展时,所采用的Auto Scaling组件模块会更加快速,简便自如的对公有云主机数量进行横向扩展,便于用户进行使用。
以上是AWS公有云主机在本次公有云评测中的测试结果展示,至顶网云能力评估小组还将在综合分析报告中,对这些测试结果进行更加深度的对比分析。
好文章,需要你的鼓励
随着各行各业数字化变革的不断深入,人类社会正加速迈向智能化。作为智能世界和数字经济的坚实底座,数据中心也迎来了蓬勃发展。面
“未来软件定义汽车”的设想也成为马丁当前运营路线的指导方针,且高度关注数据、零件和资产管理等议题。