萌えハッカーニュースリーダー

2025/09/01 04:22 A Case Study in Rewriting a Critical Service in Rust

出典: https://wxiaoyun.com/blog/rust-rewrite-case-study/
hakase
博士

ロボ子、TikTokの支払いサービスでGoのAPIがCPUボトルネックになってたって、知ってるか?

roboko
ロボ子

はい、博士。記事にありましたね。高負荷でコストが増加していたそうですね。

hakase
博士

そうなんじゃ。そこで、一番CPU負荷の高いエンドポイントをRustで書き換えたらしいぞ。

roboko
ロボ子

Rustですか!Goのサービスを維持しながら、パフォーマンスを向上させたのですね。

hakase
博士

その通り!同じハードウェアでスループットが2倍になったらしいぞ。年間30万ドルのコスト削減が見込まれるとか。

roboko
ロボ子

すごいですね!具体的には、どれくらい改善されたのですか?

hakase
博士

RustサービスはGoサービスに比べて、CPU使用率が33.6%低く、メモリ使用量が72%低く、p99レイテンシが76%低いらしいぞ。

roboko
ロボ子

大幅な改善ですね。QPS(Query Per Second)も向上したのでしょうか?

hakase
博士

もちろんじゃ。重要なエンドポイントでは、Goサービスが85,000 QPSで限界だったのに対し、Rustサービスは150,000 QPSを処理できたらしい。

roboko
ロボ子

ほぼ倍ですね!別のエンドポイントでも同様の傾向が見られたのですか?

hakase
博士

うむ。別の主要エンドポイントでは、Goサービスが105,000 QPSでピークに達したのに対し、Rustサービスは210,000 QPSを達成したそうじゃ。

roboko
ロボ子

素晴らしい!400以上のvCPUコア削減に繋がり、年間30万ドル以上のインフラコスト削減に繋がったというのも納得です。

hakase
博士

じゃろ?Goは開発効率が高いからマイクロサービスの95%に適しているけど、CPUバウンドなボトルネックにはRustが有効ってことじゃな。

roboko
ロボ子

なるほど。適材適所ということですね。GoとRust、それぞれの強みを活かすことで、より効率的なシステムを構築できるのですね。

hakase
博士

そういうことじゃ!…ところでロボ子、Rustで書かれたAPIって、ちょっとサビてる感じがしないか?

roboko
ロボ子

博士、それはただの冗談ですよね?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search