上周,一篇云主机测评文章《云服务器哪家强?AWS、Azure、阿里云、腾讯云、华为云深度评测》在朋友圈引发了热议。然而其中,云主机性能一直颇为优秀,甚至在多次其它公开测评中位列第一的UCloud却在此次测评中缺席,因此,测评的结果不够全面。近日,UCloud选择主动参战,在《云服务器哪家强》的结论基础上加入UCloud的常用机型直接对比。
此次测评中,UCloud的比较对手直接选择在《云服务器哪家强》中,综合排名前四的参赛选手,即AWS、阿里云、华为云,腾讯云。机型选择AWS通用实例m5、阿里云通用平衡增强型g6e,华为云通用计算增强型c6,以及腾讯云标准型s5。
同时UCloud选择3款主力机型应战:第一款为年发布的快杰云主机;第二款为最新发布的快杰云主机S。上述两款机型皆是使用IntelCascadeLakeCPU的标准机型,和其它厂商机型选择逻辑一致。此外,我们还会加入一款即将发布的神秘机型,本文中,我们暂称为快杰云主机X。
下面将从云主机的计算、存储、网络三个维度进行测试指标的详细对比,并同样分析其在具体应用场景如MySQL、Redis和Nginx下的表现。
云主机规格选择
主机配置仍延用8核32G选型,数据盘容量大小设置为G,因为实际磁盘的使用中,云厂商都有针对磁盘容量进行一定的限速策略,为使得结果更具参考性,将选取较大的容量配置。
测评工具
此次测评主要利用SysBench、Stream、MLC、FIO、Netperf等测试工具,对云主机的CPU、内存、存储以及网络性能分别进行测试,另外还针对MySQL、Redis和Nginx三种应用场景做了测试比较。
报告中的每项测试指标均以3次测试的平均值作为最终数据,并且云主机每完成一次测试需空跑8小时以上方可进行下一轮测试。
测评报告
一、CPU性能
CPU是云主机操作系统稳定运行的根本,CPU的运行时间很大程度上决定了云主机的性能。
测试工具:SysBench是一个模块化、跨平台且多线程的基准测试工具。在此项测试中使用其CPU压测功能,其压测方法为计算素数。每秒计算次数(eventspersecond)越多越好。
测试命令:sysbenchcpu--cpu-max-prime=0--threads=8--time=50run
测试结果:UCloud快杰S与UCloud快杰X位于第一梯队,华为云c6与UCloud快杰位于第二梯队,AWSm5、阿里云g6e、腾讯云s5则表现欠佳,其中UCloud快杰S每秒的计算次数高出平均值19%。
二、内存性能
除CPU之外,内存的性能在一定程度上也决定系统表现,尤其是针对大量访问内存的场景,如关系型数据库等。内存性能指标主要分为两个方面,内存带宽和内存延迟。
1、内存带宽
测试工具:Stream是业内公认的用于内存性能评估的基准测试工具,其包括Copy(复制)、Scale(乘法)、Add(加法)以及Triad(三者复合)四种不同操作情况下的内存带宽表现。
测试结果:综合四项指标数据来看,UCloud快杰X与华为云c6在内存带宽方面明显优于其它云主机,UCloud快杰S和快杰则次之。
2、内存延迟
测试工具:MLC是Intel官方提供的免费内存测试工具,可以有效方便的测试内存延时。
测试结果:阿里云g6e的内存延时最低,为89.4ns,华为云c6和UCloud快杰表现也不错,AWSm5与UCloud快杰S结果类似,而UCloud快杰X延时最高,为.6ns。
三、存储性能
在云主机的存储性能方面,IOPS和IO时延作为衡量磁盘性能的重要指标,理论上,IOPS越大越好,时延越低越好。
测试工具:本次测试使用的FIO工具选择了libaio引擎测试,块大小配置为4k,测试生成的文件大小为G。这里主要观察队列深度分别为1*1和7*32的情况下,磁盘每秒随机读写的操作次数以及平均时延。
1、IOPS
测试结果:由图表可见,在队列深度1*1和7*32时,UCloud快杰、快杰S以及快杰X的IOPS都具有显著优势,而其它四款相差不大。在队列深度为1*1时,UCloud快杰S随机读的数据是AWSm5的5.6倍,而随机写则是排名靠后华为云c6的11.5倍。在队列深度为7*32时,UCloud快杰系列随机读写能力依旧表现突出,趋近于阿里云g6e的2倍。
2、读写时延
测试结果:在平均时延方面,UCloud快杰、快杰S以及快杰X仍具有明显优势,而AWSm5、华为云c6以及腾讯云s5的平均时延相对较高。
四、网络性能
云主机每秒所处理的网络包数量是内网性能的核心指标,内网环境下的网络情况直接会影响服务之间的交互。
测试工具:Netperf是一种网络性能的测量工具,主要针对基于TCP或UDP的传输。此次测试通过6台辅助机和1台测试机,使用UDP协议+小包,小包大小为1byte,在同等情况下,统计测试机每秒收到包的数量。
测试结果:通常情况下,云主机每秒接受的小包数量越多,代表内网质量越好。
从测试数据可看出,UCloud快杰S每秒接受的小包数量最多,为万个,是排名最末AWSm5的6倍,AWSm5、阿里云g6e和华为云c6的数值差异不大。
五、应用场景
1、MySQL
MySQL数据库的性能状态通常可以反映云主机的CPU、内存和磁盘性能,也更能体现出云主机的性能差异。
测试工具:使用SysBench基准测试工具对数据库一个表存放万条数据,并同时开启个线程,从而得出结果数据,每秒请求数QPS与每秒事务数TPS越大,则表现越好,测试耗时与平均时延越小,则表现越好。
测试结果:QPS和TPS作为衡量数据库性能的关键指标,也是云主机性能的直接体现。从上图测试数据可看出,在MySQL场景下,UCloud快杰系列的QPS和TPS请求数量均表现超前,阿里云g6e表现也不俗,其中快杰S的QPS数值为最末AWSm5的7.4倍;平均时延层面,也是AWSm5排在末位。
2、Redis
Redis是一款开源、高性能的key-value分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,其在游戏行业、视频直播行业、电商行业中常被使用。
测试工具:Redis自带redis-benchmark的工具,可用来模拟N个客户端同时发出M个请求。配置两台云主机,分别作为客户端与服务端进行压测,获取平均每秒查询数,分别压测ping、get、set和mset四种方式。
测试结果:综合而言,UCloud快杰X各项指标数据遥遥领先,其次是UCloud快杰S和华为云c6,腾讯云s5则在Redis场景下表现欠佳。
3、Nginx
Nginx是一个高性能的HTTP和反向代理web服务器,是网站门户用户的首选。Nginx具有并发能力非常强的特点,因此对云主机的网络能力要求非常高。根据Nginx的每秒处理请求数,就可以看出主机的抗压能力。
测试工具:使用ab压测工具进行测试,ab工具可以创建多个并发访问线程,模拟多个访问者同时对某一个URL地址进行访问,其原理类似CC攻击。因此,在这样高并发的测试下每秒处理请求数越大表现越好,最大连接时间则是越短越好。
测试结果:上图为根据ab压测请求数万,一次并发请求数为得出的平均数据,很明显可看出UCloud快杰系列在这次压力测试中,各项指标均表现最佳,远超出其它几款主机,腾讯云s5和AWSm5在最大连接时间中表现欠佳。
六、主机价格
在充分比较了几款云主机的性能差异后,接下来就是用户最为关心的问题——价格。下图为本次测评各配置机型在北京地域的月单价,所有主机均以