经过数月网心云运行与跑量,反复在定向——非定向业务中的反复横跳,踩遍无数坑子,下面总结一些容易忽略的调优点/注意点,供各位参考。

一,官方对于4k读的测试方法纯属胡扯

磁盘读iops检测 | 硬盘配置参考 | 网心云 (onethingcloud.com),按照此文中描述的信息,AS SSD中的iops应为磁盘单线程4k读速度,而大量定向业务对该性能指标的要求动辄≥30000iops,20000iops。根据读取4k大小文件来计算,IOPSx4÷1024=MB/s,即使仅满足2万iops也需要单线程4k读取速度达到惊人的78.125MB/s——而这一速度目前只有傲腾这一类的顶级固态可以达到(P4800X 375G版本该项指标可达187MB/s,参考Intel P4800X 375G SSD性能评测-网烁信息科技有限公司 (waso.com.cn)),即使走PCIE4.0x4的铠侠CD6也望尘莫及(铠侠CD6 3.84TB版本单线程4k读速度不过39.7MB/s,参考铠侠固态硬盘怎么样 铠侠固态硬盘评测_什么值得买 (smzdm.com)),甚至连PM983的继任者——三星PM9A3也无法达到如此变态的要求(三星PM9A3 1.92TB版本该项指标也不过54.19MB/s,参考固态硬盘 篇四:捡矿盘垃圾——星星星 PM9A3 1.92T评测_固态硬盘_什么值得买 (smzdm.com))。本着不如摆烂的心态入了一块Intel S3520 480GB版本(单线程4k读速度仅有25MB/s左右,约合6400),但是实际上机后测试结果如下:

在前期4k读测出来的甚至可以摸到4万,令人百思不得其解,唯一合理的解释就是实际跑量中4k读并非单线程,而官方测试方式只针对4k单线程读进行测试,而这两者并非线性的乘数关系

用人话说就是:官方给的测试方法和实际网心云跑量时的测量方法完全不一致,结果甚至也无法换算,没有任何参考价值!根据实测,靠谱的SATA3固态基本都能达到3到4万iops,走NVMe的雷克沙NM610Pro甚至都能跑出14万,同时值得注意的是,iops与跑的业务类型,地区调度也密切相关(平均读写文件大小,读写频率有差异,会导致iops参数不准)。

二,对于X86设备,CPU负载类型为典型的多核低频类型

网心云追求的是尽可能多的线程进行同时读写,如果纯粹用于网心云,高IPC/高主频除了浪费钱和浪费电以外意义不大。对于拥有大量带宽资源,并且需要全新采购服务器用于跑量的大户,一般建议的最佳解为E5-2651v2(12C24T,1.8Ghz-2.0Ghz)+C602(俗称双路X79)+DDR3 REG ECC(简称D3RECC),充分利用好C602廉价的2651v2以及白菜价D3RECC,同时提供尽可能多的PCIE供阵列卡、U2盘使用。

如果只是小规模运行,不考虑插大量PCIE设备,建议采购二手Xeon-D 1581一体板(火神革命的板子非常符合要求)。由于吃到了制程红利,1581的性能约为单颗2651v2的1.67倍(典型的多核低频低功耗CPU,Intel当时设计此CPU正是为了网络类型的负载,原话为“可在空间和电源受限的环境中提供工作负载优化的性能,从数据中心到智能边缘。这些创新的系统级芯片处理器支持高密度、单插槽网络、存储和云边缘计算解决方案,具有一系列集成安全性、网络和加速功能”),但是考虑到火神板子极差的扩展性,谜一般的BIOS,整板入手价格不建议超过300元,当成一个大玩具处理。

三,跑量特性:

一般而言上午8点到9点为结算时间点,上午10点逐渐开始大量上行,午高峰为11:00到下午1:30,晚高峰为晚8:00-晚10:00,半夜11:30开始上行呈现断崖式下跌,转入下行缓存部署状态,每日上行流量最低时间出现在凌晨3:00-4:00。

四,单根宽带使用一台网心云一般无法完美跑满,同时不建议顶着上行带宽极限设置带宽数据

同一根宽带下建议拿到公网ip-打开pnp-调整为全锥形网络,至少上两台网心云机器跑量,可以充分利用足带宽资源;另外如果实际上行带宽为10MB/s,一般建议设置的上行带宽控制在9MB/s左右(80%-90%)原则,否则在晚高峰可能会引起线路丢包。

五,机械磁盘不建议跑非定向(又称智能业务)

非定向业务反而对于磁盘IO要求非常高,机械盘到后期iowait基本铁定爆表,引起CPU负载激增,导致降权降低收益。如果使用机械磁盘,建立老老实实堆容量跑B/B1网盘,此两项业务对于机械磁盘有负载优化,猜测是连续对大文件进行读写,可非常有效避免CPU负载过高的问题。