网易首页 > 网易号 > 正文 申请入驻

每年省30万美元!实习生用Rust给TikTok火速降本,开发者吐槽:放在小公司顶多省300块

0
分享至

整理 | 郑丽媛

出品 | CSDN(ID:CSDNnews)

在开发者圈内,时而会听到这样一个观点:

“别费劲去做优化了,反正计算机运行速度快,没必要为了那点性能而浪费开发时间。”

这话说得有些道理,但并不完全对,毕竟——某些情况下,服务器账单也很贵。

不久前,一位 TikTok 实习生Xiaoyun Wu 分享了一件很有代表性的事:他在 TikTok 实习期间,用 Rust 重写了核心支付服务中的部分 Go 模块,让性能提升 2 倍、延迟降低 76%、CPU 使用率减少三分之一,并为公司节省了每年约 30 万美元(约合人民币 213 万元)的云成本

虽然对 TikTok 这样的大公司来说,30 万美元的节省看似不多,但别忘了——这只是一个服务的部分重写,还是实习生干的。

外科手术式重构用 Rust重写“最疼的那一块”

在 Xiaoyun Wu 的个人博客中,他提到 TikTok LIVE 的支付服务原本是用 Go 编写的核心系统,多年来运行稳定。本身 Go 凭借简洁语法和并发模型,就非常适合快速迭代微服务。

但随着 TikTok LIVE 业务爆发式增长,这个“老黄牛”开始吃不消了——CPU 占用居高不下、服务频繁触发稳定性告警,团队不断扩容以维持性能,导致云成本也一路飙升。

经过分析,问题主要集中在几个高频 API:用户余额查询与统计数据拉取。这些接口计算密集、流量极大,占据了大部分 CPU 时间。然而常规 Go 层面的优化空间有限,因此不是代码写得不好,而是语言特性已到极限

“普通的 Go 优化手段已经难以带来突破性改进,”正如 Xiaoyun Wu所说,“我们需要一个更强大的解决方案来解决这个有针对性的问题。”

在导师和同事的指导下,Xiaoyun Wu 将解决方案分为三个关键阶段:

(1)精准重写:Rust“外科手术式”介入

他们没有盲目推倒重来,而是进行了一次“外科手术式”重构:只将性能最关键、最吃CPU的几个接口用 Rust 重写,其他逻辑仍保持在 Go 中。毕竟Rust 以接近底层的性能和内存安全著称,本身就非常适合这种高并发、高密度计算场景。这种多语言架构(polyglot approach)让团队既能保持 Go 的开发效率,又能在性能关键点释放 Rust 的威力。

简言之——Rust 只进攻“瓶颈”,而 Go 继续守全局。

(2)正确性验证快,不代表对

性能再好,如果结果错误也毫无意义,因此第一步不是压测,而是验证“结果完全一致”。为此,Xiaoyun Wu 他们先让 Rust 版本的新服务在“影子模式(shadow mode)”下运行:实时接收生产流量的副本,与原 Go 服务并行处理。

每一个请求的响应结果都会通过验证管线进行逐条对比。经过数周比对,确保 Go 和 Rust 版本之间的数据一致率达到 100% 后,他们才进入了下一阶段。

(3)压测阶段:看它能跑多快

正确性无误后,终于到了关键时刻。他们在生产环境中建立了两个完全相同的集群:一个跑原版 Go 服务,一个跑新的 Rust 服务,用 16000 个真实(已匿名化)用户 ID 构造数据,从低负载逐步拉升到极限, 整个过程中监控二者的 QPS、延迟、CPU 和内存使用率。

优化结果:性能翻倍,成本腰斩

测试结果超出所有人的预期:

此外,Xiaoyun Wu 提到在某关键的接口中,Rust 服务在同等硬件下的处理能力从 85000 QPS 提升至 150000 QPS——性能提升约 1.8 倍;在另一个高频接口中,Rust 版本更是从 105000 QPS 提升到 210000 QPS——实现性能翻倍。

得益于这种性能飞跃,每台机器都能承载更多流量,团队也因此直接削减了约 400 个 vCPU 核心,折算下来一年可节省约 30 万美元云开销

尽管如此,但 Xiaoyun Wu 也在博文中强调,这并不是一个“Rust 比 Go 更强”的故事:“选对工具,才能解决对问题。Rust 在极少数瓶颈服务中能发挥奇效,但 Go 的开发效率和性能平衡依然让它成为 95% 微服务的最佳选择。”

从 NUS 到 TikTok:一名实习生的成长轨迹

翻看 Xiaoyun Wu 的履历,他能实现这样的结果也并非偶然。

目前他就读于新加坡国立大学计算机科学专业,辅修统计学,研究方向集中在编程语言与并行计算。在校期间,他已经多次主导性能优化项目,并开发了自己的语言实验项目 “RustScript”——一个融合 Rust 语法与 TypeScript 简洁性的静态编译语言。

与此同时,他的实习经历也几乎都在围绕“性能优化”展开

● 在 TikTok Global LIVE Wallet 团队(2024.12-2025.08)期间,除了上文提到的把部分 Go 服务重写为 Rust,他还在Oncall Agent中开发了AI驱动的分析器和自动结论功能,显著提升了Wallet服务的值班效率;并运用Golang、LLM及向量数据库对相关事件进行排序,能自动分析日志并给出问题定位建议,大幅减轻运维负担。

● 在 TikTok LIVE Money Platform(2024.05-2024.08)期间,他负责前端构建优化,将资产打包速度提升一倍,将 CI/CD 流水线时间从 15 分钟压缩至 10 分钟,并通过迁移到 Rspack 提升构建性能。

● 更早之前(2023 年),他还曾在志愿福利组织计算部门中,将一个 Ruby on Rails 系统迁移至 Go,让后端响应速度提升 5 倍。

或许正因这种“学术与实战结合”的背景,让他在面对 TikTok 这样的大规模分布式系统时,能够采取一些严谨的“科学方法”进行工程优化。

“优化到底是否有意义?”——开发者的分歧

Xiaoyun Wu 的这篇博文在 Reddit 上引发了广泛讨论,尤其是那句“实习生用 Rust 给 TikTok 省了 30 万美元”成为了开发者的焦点。

一些人认为这证明了优化依然重要;也有人觉得,这其实是“大公司特有的游戏”

“如果你的创业项目比 TikTok 小 1000 倍,那同样的优化你最多只能省 300 美元,而团队人力成本将远超这个收益。”
“规模越大,优化带来的节省也越惊人。没人会为了省几块钱就去用 Rust 重写服务。TikTok 的节省之所以可观,是因为他们本来每年就在这部分云资源上花费数百万美元,所以他们省下的这 30 万美元,并不算“性能优化奇迹”。而绝大多数初创公司,根本不会有这种流量规模,也不需要这么多算力。”
“关键词其实是‘规模’。在一家公司的成长中,会经历一个微妙的转折点:从“服务器比人便宜”,到“人比服务器便宜”。而如何跨过这道坎,是扩张中的最大挑战之一。 大致可以分成三个阶段: (1)初期阶段:服务器账单太低,性能优化赚不回投入的工程时间。 (2)中间阶段:服务器开销高到值得优化,但还不如花精力去开发能带来收入的新功能。 (3)成熟阶段:服务器成本高到必须关注性能,否则利润会被吃光。 很多工程师(包括我)都喜欢钻研性能,但在第二阶段,这样做往往不是最优决策。优化的时机,和优化的必要性,其实比优化本身更重要。”

在众多开发者的讨论中,一个共识逐渐浮现:性能优化不是无意义的,但必须精准、量化、聚焦在值得和合适的地方。那么,你对于这个问题又有何看法呢?

https://wxiaoyun.com/blog/rust-rewrite-case-study/

https://www.reddit.com/r/programming/comments/1okf0md/tik_tok_saved_300000_per_year_in_computing_costs/

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
1954年,郑洞国参加毛主席家宴,迟到好几分钟,毛主席:你51岁?

1954年,郑洞国参加毛主席家宴,迟到好几分钟,毛主席:你51岁?

简史档案馆
2026-05-31 11:05:03
再次交火后,美军发现伊朗18座地下导弹基地,已被推土机修复

再次交火后,美军发现伊朗18座地下导弹基地,已被推土机修复

兵国大事
2026-06-01 22:02:55
苹果首款智能眼镜即将发布,非常轻便!

苹果首款智能眼镜即将发布,非常轻便!

XCiOS俱乐部
2026-06-01 09:04:01
今天起,不工作取消福利,洛杉矶数十万人受影响

今天起,不工作取消福利,洛杉矶数十万人受影响

大洛杉矶LA
2026-06-02 05:14:44
黄仁勋涉台缺电言论戳疼“青鸟”

黄仁勋涉台缺电言论戳疼“青鸟”

参考消息
2026-06-02 15:25:20
从世界第4到117位,郑钦文只用了10个月,詹俊:根源在这两点

从世界第4到117位,郑钦文只用了10个月,詹俊:根源在这两点

酷侃体坛
2026-05-26 18:11:48
拒绝为国效力三年承诺!掘金球星穆雷无缘2028洛杉矶奥运会

拒绝为国效力三年承诺!掘金球星穆雷无缘2028洛杉矶奥运会

仰卧撑FTUer
2026-06-02 11:24:59
结束访华不到20天,特朗普紧急下禁令,要斩断中国“经济命脉”?

结束访华不到20天,特朗普紧急下禁令,要斩断中国“经济命脉”?

傲傲讲历史
2026-06-02 11:48:57
太残酷了!阿布达比刚重仓介入,直接15个跌停,中东大佬亏惨了

太残酷了!阿布达比刚重仓介入,直接15个跌停,中东大佬亏惨了

鹏哥投研
2026-06-02 14:25:16
手握6赛点险遭逆转!石宇奇2-0横扫世界第18,晋级印尼赛16强

手握6赛点险遭逆转!石宇奇2-0横扫世界第18,晋级印尼赛16强

钉钉陌上花开
2026-06-02 11:03:54
领了失业金,退休工资会变少吗?3种情况要警惕!

领了失业金,退休工资会变少吗?3种情况要警惕!

职场资深秘书
2026-06-02 15:37:00
雷克萨斯ES“清仓大甩卖”?5年0息背后,是全新一代ES真卖不动了

雷克萨斯ES“清仓大甩卖”?5年0息背后,是全新一代ES真卖不动了

优视汽车
2026-06-02 11:54:54
《主角》原著:14岁被玷污,20岁闪婚生下低能儿,50岁被养女背刺

《主角》原著:14岁被玷污,20岁闪婚生下低能儿,50岁被养女背刺

慢半拍sir
2026-05-18 21:23:56
蓝营一人公开喊出“我有中国身份证”,绿营气极,韩国瑜自愧不如

蓝营一人公开喊出“我有中国身份证”,绿营气极,韩国瑜自愧不如

DS北风
2026-06-02 13:33:36
申花本赛季足协杯首秀前!可能迎来久违外援入队踢主力,值得期待

申花本赛季足协杯首秀前!可能迎来久违外援入队踢主力,值得期待

老贃是个手艺人
2026-06-02 11:18:41
大胆点,其实90%的人都是很水的。

大胆点,其实90%的人都是很水的。

老陆不老
2026-05-29 20:35:12
正当防卫被判死刑,枪决前6分钟被最高法紧急叫停,董伟案始末

正当防卫被判死刑,枪决前6分钟被最高法紧急叫停,董伟案始末

易玄
2026-05-25 01:45:09
首次公开电子干扰:荷兰军舰通信中断超12分钟,反制升到哪一级?

首次公开电子干扰:荷兰军舰通信中断超12分钟,反制升到哪一级?

荷兰豆爱健康
2026-05-31 12:02:55
华为9 款新机官宣:6月1日,全新首发!

华为9 款新机官宣:6月1日,全新首发!

科技堡垒
2026-05-31 09:37:47
退休后,千万不要着急去提取住房公积金!一定要等公积金“封存”

退休后,千万不要着急去提取住房公积金!一定要等公积金“封存”

石辰搞笑日常
2026-05-31 10:55:04
2026-06-02 16:16:49
CSDN incentive-icons
CSDN
成就一亿技术人
26603文章数 242293关注度
往期回顾 全部

科技要闻

烧掉千亿后,美团、阿里、京东谁先止血?

头条要闻

郑丽文正在访美称愿意与特朗普会面 外交部表态

头条要闻

郑丽文正在访美称愿意与特朗普会面 外交部表态

体育要闻

1米74的业余联赛替补,在英超踢中卫

娱乐要闻

奚梦瑶何猷君婚礼曝光 深情热吻甜蜜

财经要闻

锂电“资源墙”高筑 全球性长期博弈开始

汽车要闻

星途神秘新车轮廓曝光 又一款性能SUV要来了?

态度原创

手机
亲子
本地
数码
公开课

手机要闻

千元机王炸!华为畅享100 Pro Max立项:代号叶问 首发华为史上最大电池

亲子要闻

我必须要和十五绝交!真的太疼了!

本地新闻

用剪纸的方式,打开江苏扬州

数码要闻

华为nova 16系列发布:2999元起 全系配备后置红枫原色镜头

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版