扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者: 白眼方振眉 小黑羊 JoinWings 来源:ZDNet软件频道 2015年7月6日
关键字: 云计算
ZDNet至顶网软件频道消息: 小白工作十载,创业数年,玩云计算3年有余。面对如今互联网+和云计算大行其道,一时兴起,中国的云厂商(百家混战)和洋厂商(如AWS、Azure)做了一番比较。
本次比较不是看脸,重在测试性能,小白想给大家分享一些经验(和教训)。
由于八年来小白一直奋战在性能测试领域,所以觉得有些基本概念首先需要理清楚:
性能&稳定性之我见
世俗说的“性能”,Performance,这是一个已经被玩坏的概念,不管是国内、还是国外。
其实,Performance(性能)的真实定义包含了Performance(性能) + Stability(稳定性)两个东东:
1、性能 = 性能 (第1天的成绩) + 稳定性 (后面364天的成绩)
“性能”其实只是第1天我们去评测一个产品的时候,拿个工具来跑个分数(大家是不是对身边这样的事情感同身受?),看看孰优孰劣,此时立马下结论未免有些唐突。因为,我们只看到了这个产品一瞬间(短期内)的性能表现。
“稳定性”呢,其实可以说全名叫“性能稳定性”,表明的是这个产品能否在长时间一直保持好成绩,还是会时好时坏、忽高忽低,不管是几小时还是几分钟或几秒钟的抖动。
2、性能 = 裸机性能 vs 实际性能
有不少身边的人,包括我之前,都会“盲目”地下载些所谓的测试程序,去各家虚拟机上跑个分,然后不分青红皂白就下定论(纯看CPU、内存、磁盘I/O分数高低)。其实不然,实际使用情况会很不一样。
举个栗子:一台i3和i7的笔记本评分肯定有差别,但跑一个游戏的时候很可能感觉不到任何差别。
纯看评分的话,小米还比iPhone强呢。
性能&稳定性之我测
下面小白把实际测试结果跟大家分析一下:
云主机实际应用性能
场景一:云主机搭载MySQL(最常用情况)
如图,挑选了4家国内厂商,金山云和阿里云表现差不多(阿里云是出乎我意料的,因为很久之前单给I/O跑分的时候阿里云的I/O表现并不算太好),而UCloud要比金山云和阿里云差20%,这也是出乎我意料的,因为UCloud的I/O性能是比较突出的。
仔细想想,小白分析出很重要的一点是,在这种实际应用场景下,是一个综合考量,CPU、内存、磁盘I/O都会结合应用,数据库的实际使用如果大量走I/O的话一定是code有问题了,通常很多热数据都是在内存里的,所以与I/O的关系不是最大。
场景二:云主机搭载MongoDB(次常用情况)
如上图所示,金山、UCloud、阿里云基本旗鼓相当,青云和华为云落后高达40%左右,其背后的原因同上。
云主机基础性能测试
所谓的基础性能,就是指单单给CPU、内存、I/O测试性能,虽然在我看来还是low了点,毕竟处于严谨性的目的还是要搞一把的。
当然,小白这里将列举性能、稳定性两个方面:
先告知一下,用的工具是sysbench和ubench,都玩了,以防因工具不同出现偏差。
稳定性的话是将云服务器持续不断跑了7天以上,这个就很有意思,有些厂商会因为时间段的关系出现周期性的大幅差异(抖动),有些厂商即使在长期看似平稳,但每时每刻的抖动幅度却很大,能不能接受这类抖动真的见仁见智了,反正我做的项目对于稳定性要求比较高,不能影响客户体验。
性能上,其实很多玩计算机的人都明白,CPU真的差10%-15%之间,或者内存差10%-15%之间,在跑应用时是基本感觉不出来差别的。就好比iPhone 6比iPhone 5s硬件要好,难道玩愤怒的小鸟的时候,用iPhone 6那只鸟还能飞快一点吗?所以CPU和内存差15%之内,对于选机器而言,基本是无所谓的。但磁盘性能其实是有感觉的,理由很简单,一台装SSD的笔记本开机肯定比SATA盘的笔记本快。
稳定性上,无论是CPU、内存、还是磁盘,都是有强烈感觉的!好比忽高忽低的心跳,谁能受得了。前一秒应用的体验还非常好,后一秒就卡了,相信很多人都碰到过类似经验。
注意一下,稳定性的值小白采用的是统计学上常用的Correlation值,中文应该叫离散度,Correlation= Sigma / Mean,即离散度 = 标准差/平均值。这是一个不带单位的数值,可以与任何东西比较离散程度。该值越小越好,基本上世面上大多采用的是0.02,即小于0.02的都被认为是非常平稳,比0.02大的就属于心律不齐了。例如0.04甚至是0.1,如果把长期的数据点plot出来,会是一张很恐怖很血腥的滴血图……
不说了,上图,高能预警!!
稳定性-CPU
性能-CPU
稳定性-内存
性能-内存
稳定性-磁盘
性能-磁盘1
性能-磁盘2
CPU性能方面,大家可以看到AWS虽然排名第一,但是比其它人家也就好10%样子,内存也是一样情况,所以其实所有主流云厂商,大家都在CPU和内存性能上半斤对八两。
稳定性上(小白觉得这个才是最重要最有感觉的)AWS的稳定性真的可以用“丝般柔滑”来形容,Azure和阿里云属于洁白光滑的皮肤上面有几个不明显的小豆豆,再反观UCloud、金山云、青云等,抖动皆在AWS等三家的5-8倍以上(CPU和内存稳定性),而磁盘I/O方面,这些厂商的抖动基本在AWS等的3-17倍以上。
再来个来个高能的的图感受一下吧:
AWS
腾讯云
AWS的稳定性(抖动)非常平滑,阿里云属于较平稳,UCloud的云服务器性能如过山车一般,腾讯云的也有抖动。
上面的图是给大家一个直观印象,取了相对短时间的数据。
其实小白还做了长达10天的连续测试,基本结果跟上面的4张图一样,只是贴上来篇幅更宽难以放在文章中。有趣的是UCloud、腾讯云和金山云三家有相当的时间规律性,即基本每天晚上6PM-8PM、10PM-12PM之间,会有性能大幅跌落。仔细分析了一下,每天晚上这两个时间段分别是下班在地铁上玩手机的时间、以及晚上躺床上玩手机的时间,用户量会暴增,但其它几家厂商就没有出现如此的时间性下跌。
以上是小白对于云服务器的选择的一些看法和感想,总结而言:
在看性能(第一天成绩)的同时,更要注重稳定性(365天的成绩)
在看裸机性能(跑分)的同时,更要注重实际使用(搭建应用)的性能。
后续小白还将为大家分享一下云数据库和云存储的一些比较,供大家参考。
关于小白:白眼方振眉是大瞎萧秋水的徒弟,小黑羊的好基友,“白眼看技术,黑手著文章”,从事测试多年。这篇是小白的处男作,后续还会有更多硬货出品,欢迎大家关注小白同学。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者