事情是这样的。
香港服务器内核升级实测,延迟降了20%但这家厂商的操作让我惊了
上周五凌晨三点,我盯着屏幕上的ping值,差点把咖啡喷在键盘上,我手里这台香港服务器——之前被我喷过“祖传内核”的那台——突然搞了个静默升级,没发公告、没提前通知,直接就把内核从4.x跳到了5.x,我当时的第一反应是:卧槽,这波操作有点野啊。
但测完数据之后,我沉默了。
先交代一下测试环境,我手头目前在维护的香港服务器一共有四台,分别来自三家不同的厂商:A厂商的E5-2650 v4(老当益壮型)、B厂商的铂金8269(号称“云原生专用”)、C厂商的EPYC 7B12(AMD Yes型),以及这次的主角——D厂商的“谜之操作”机器,配置是Intel Xeon Gold 6248R,4核8G,走的BGP线路,月费大概200出头。
测试工具:iperf3 跑带宽和丢包,mtr 看路由抖动,wrk 压一下并发连接数,另外用了一套自己写的脚本,专门测90%分位延迟,测试时间选了工作日晚高峰(北京时间20:00-22:00)和凌晨低谷(03:00-05:00)两个时段,每个时段跑三次取中位数。
先说最直观的延迟数据,拿深圳电信做源端,三网普通线路(非CN2),白天高峰时段:老内核(4.18.0)的ping值在38ms到56ms之间来回跳,偶尔蹦到62ms;升级到5.15.0之后,稳定在了31ms到43ms,平均降幅大概17%,最让我意外的是波动率——旧内核的标准偏差是7.2ms,新内核降到了3.8ms,直接腰斩,晚高峰刷短视频或者推API接口的时候,那种“忽快忽慢”的恶心感确实少了很多。
带宽方面,iperf3 单线程跑下来,旧内核勉强撑到480Mbps就开始掉包,新内核干到了630Mbps还能稳得住,多线程(8并发)更离谱,旧内核在940Mbps左右开始出现约0.8%的丢包,新内核顶着986Mbps跑了10分钟,丢包率只有0.03%,负责机房运维的朋友跟我说,这次内核升级把TCP拥塞控制算法从cubic换成了bbr3,还顺手优化了虚拟化层的I/O调度,我不是架构师,但数据不会说谎。
最让我想骂娘的还不是这些。
是竞品对比。
我跟B厂商那台号称“香港CN2 GIA独享”的机器做了个同场景横评,B机器配置是4核8G,月费499,比D贵了一倍还拐弯,晚高峰深圳电信延迟,B机器是28ms到35ms,D机器新内核是31ms到43ms——B依然略胜一筹,但考虑到差价,这个差距已经小到不值得多花一倍钱,更骚的是,B机器在晚间20:30之后偶尔会出现持续3到5秒的200ms+高延迟,俗称“抽风”,而D机器在这次升级后,整个测试周期内没出现任何超过80ms的毛刺。
C厂商的AMD机型呢?延迟和D机器几乎打平,带宽还多出100Mbps左右,但问题是C厂商的售后响应速度实在太感人——上次我提单问路由优化,等了三天才回复“已提交技术组”,对于跑业务的人来说,延迟差个10ms可能忍了,售后回你“已提交”这种话术是真不能忍。
所以总结一下。
这次D厂商的静默内核升级,从纯技术角度看,确实干了一票漂亮的活——延迟降下来了,抖动用掐表都能感觉出来,带宽跑得更满,丢包几乎清零,但槽点也很明显:没有任何公告,没有changelog,甚至连运维群里都没吱一声,要不是我半夜盯着流量图发现异常,可能到现在都不知道机器里换了“芯”,这种“先斩后奏”的操作,放小厂身上叫“不专业”,放大厂身上可能叫“灰度发布策略”,但搁这家身上,我只能说——你丫好歹发个邮件啊。
不过话说回来,如果你预算有限,对峰值延迟没那么变态的要求(比如非要用CN2 GIA跑量化交易或者国际语音这种场景),这台D厂商的香港机器在升级内核之后,性价比确实拉满了,我的建议是:如果手头正好有同款机器,可以去后台确认一下内核版本,如果是5.x系列,恭喜你,捡了个便宜;如果还是4.x,不妨发工单问一句“什么时候升内核”,客服大概率会回你一个标准模板,但至少让他们知道——有人在盯着。
毕竟,性能提升这种事,厂商偷偷摸摸地干,用户也得明明白白地用。



发表评论