上个月公司搬到长沙高新区,老板跟我说:“新项目要上,预算有限,你自己看着搞。”我一听这话就懂了——又要做选择题了,手里的活儿是给一家本地MCN机构做直播推流和素材转码,要求不高:延迟别超过30ms,转码别卡死,7×24小时扛得住,按惯性思维,直接上云是最省事的,但转念一想,长沙这地方,云厂商节点刚铺没几年,真跑起来心里没底,正好有个朋友在麓谷有个小机房,空了一台物理机,说借我测半个月,于是我在同一网络环境下,拿它和阿里云、腾讯云做了个硬碰硬的对比,不吹不黑,数据说话。

长沙物理机生存报告,我花了半个月,把本地机房和云服务器扒了个底朝天
先交代测试环境:
物理机:Dell R730xd,双路E5-2680 v4(共28核56线程),128GB DDR4 ECC,系统盘用Intel S4510 480GB ×2组RAID1,数据盘用三星PM893 960GB ×4组RAID10,网卡双口千兆,接机房华为S5720交换机,上行带宽独享1Gbps(实测到长沙电信骨干网延迟0.9ms)。
云服务器1:阿里云ECS,长沙节点,4vCPU(Intel Xeon Platinum 8269,共享型),16GB内存,系统盘40GB ESSD PL0,峰值带宽5Mbps。
云服务器2:腾讯云CVM,长沙节点,4vCPU(Intel Xeon Gold 6148,标准型),16GB内存,系统盘50GB高性能云硬盘,峰值带宽5Mbps。
两者都装CentOS 7.9,内核版本相同,物理机同样系统,并额外装好NFD、FFmpeg、Nginx等生产环境。
第一项:CPU算力硬刚。
我用UnixBench 5.1.3跑了一遍单核和多核,物理机单核得分1823,多核得分38746,阿里云共享型单核1652,多核5890(因为只分配4核,且共享型存在超卖),腾讯云标准型单核1701,多核6322,看起来云服务器的单核分数不低,但多核被物理机碾压——56线程对4线程,差了一个数量级,但注意,这不是不公平,因为物理机本身核心多,但价格也差得远,不过对转码这种多线程密集型任务,物理机的优势是实打实的:同样转一段4K H.264素材到1080p x264,物理机耗时3分12秒,阿里云耗时11分48秒,腾讯云耗时10分15秒,云服务器差了3倍以上,而且转码过程中CPU负载冲到100%,云服务器的监控显示“突发性能配额”消耗了40%,简单讲,云服务商的共享型实例,长时间高负载会被限流。
第二项:磁盘读写,差距比我预想大。
用fio测4K随机写:物理机RAID10延迟0.42ms,IOPS 89200;阿里云ESSD PL0延迟1.1ms,IOPS 28000;腾讯云高性能云硬盘延迟1.8ms,IOPS 18600,连续读写差别更明显:物理机顺序写1.2GB/s,读1.4GB/s;阿里云写180MB/s,读210MB/s;腾讯云写140MB/s,读180MB/s,差距接近8倍,直播推流需要写缓存,素材转码需要频繁读写临时文件,云服务器那点吞吐量在高峰期很容易把磁盘打满,我试过并发推3路1080p流,物理机磁盘队列深度始终小于1,云服务器队列深度直接飙到4,延迟飙到30ms以上,推流偶尔卡顿。
第三项:网络延迟和稳定性,长沙本地优势明显。
用ping测到长沙本地三大运营商核心节点:物理机到电信平均0.8ms,到联通1.2ms,到移动1.5ms,无丢包,阿里云到电信1.1ms,到联通2.0ms,到移动2.5ms,测试期间丢包率0.02%,腾讯云类似,差距不大,但到全国范围就不同了,测到广州电信节点:物理机延迟11ms,阿里云15ms,腾讯云17ms,到北京联通:物理机21ms,阿里云29ms,腾讯云31ms,物理机走BGP多线,且机房直连长沙骨干网,出省延迟更低,我还在凌晨2点和下午4点分别跑iperf测带宽:物理机稳定跑满940Mbps,阿里云标称5Mbps峰值,实测4.7Mbps,丢包率0.1%;腾讯云同样5Mbps实测4.5Mbps,云服务器的低配带宽是硬伤,想升级带宽得加钱,价格翻倍。
第四项:稳定性与运维成本。
物理机连续运行7天无重启,系统负载平均0.32,最高0.67,阿里云期间有一次网络抖动(延时飙升到200ms,持续3秒),腾讯云有一次磁盘IO hang(持续5秒后恢复),售后工单方面,物理机自己维护,出了问题得自己跑机房拔插硬盘,云服务器有24小时工单,但长沙节点客服响应速度一般,在线客服转技术要等15分钟,另外电费和机柜位:物理机满载功耗约260W,加上托管费用,每月成本约1200元,阿里云4C16G配5M带宽月费约468元,腾讯云类似,单看单价云便宜,但你要想转码效率差3倍,磁盘差8倍,带宽差200倍,换算成同等算力和带宽,物理机综合成本反而低30%左右,尤其是需要7×24小时高负载的场景,云服务器不适合。
长沙物理机适合做三件事:一是本地化高并发多媒体处理,比如直播推流转码;二是对磁盘吞吐和延迟敏感的数据库,比如日志存储;三是需要稳定长连接的业务,比如游戏对战服务器,云服务器适合弹性伸缩、不确定流量、初创期快速验证的场景,如果你在长沙本地创业,且业务流量稳定、算力需求大,不妨找本地机房租一台物理机,或者自己买一台托管——价格可控,性能透明,出了问题还能打车去拔电源,云厂商再香,也替代不了物理机在低延迟和独享资源上的硬实力,前提是得找个靠谱的机房,别贪便宜选了“假BGP”,我测了半个月的数据,反正决定把核心业务搬回物理机了,云留着做灾备和弹性扩展,实话实说,长沙物理机,能打。
发表评论