优化篇 - API接口响应提升 400 倍的终极奥秘

线上有一个 Go 编写的项目,按此语言的高并发特性,线上流量并不多,但最近接口响应延迟都非常高。这是为什么呢?

那既然上方已经指出不是 Go 语言的性能问题,那咱就从其他方面进行排查。首先考虑到的就是数据库的性能,数据库服务器用了好几年的 SATA SSD 阵列,4K 性能绝对落后于现代化的 NVMe 固态硬盘。软件不行硬件来凑,当然不是我代码的菜。

4K 小霸王首先想到的就是傲腾固态硬盘,它的 4K 随机读写能力傲视群雄。加上最近大船靠岸的原因,傲腾价格比前两年好多了,最后选中的是 P4800X U.2 375GB 。 国行版本最终 864 元拿下。

傲腾有个暗坑需要留意下,某些 OEM 版本说是全新。但好像是剪角料,右上角会撕一个角标记。网上说的是因为品控不符合要求,所以黄鱼流出来零售。所以还是买全新国行版本比较靠谱。

好马配好鞍,本打算是把服务器平台也一起换到 AMD EYPC 系列,CPU 的价格确实下来了,但是主板价格却翻了翻。全新超微 H11DSI-NT 双路主板价格现在(2024 年 12 月)是 4100 元 - - 。

还是我 X99 香,挑了两颗频率比较高的 CPU 一共也才 400 多块钱,足足也有 80 个线程啊。总之,实测这个平台 4K 读写能力也比之前好太多了。傲腾还得是傲腾。受限于 CPU 的频率,这块傲腾在这个平台的 4K 读写能力感觉只发挥了它一半的能力。不过主要还是看中它的 4K 延迟,这个对数据库的性能提升是非常明显的。以后有机会再换到 AMD 平台,把它的性能发挥到极致。

回到实际项目,原有接口在高并发高负载的场景下接口一直稳定 300 ms。用户已经能明显感知到卡顿。

但是!!!!升级傲腾以后,直接干到了 微秒 级别。什么概念呢,直接 400 倍的提升。厚礼蟹,这个提升是真的太夸张了。
现在终于可以继续写我的垃圾代码了