Solid Queueのパフォーマンス特性に関する検証と考察
本文の状態
日本語全文を表示中
詳細モードで約1分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
DeNA Engineering
ゲームサービス事業本部の三軒家氏が、Ruby on RailsプロダクトのジョブキューシステムをSolid Queueに移行するプロジェクトを推進し、負荷試験で1000 job/sのスループットを安定処理できる性能を確認した。
Continue in AI NEW LAB
このニュースを、実務の判断につなげる
AI NEW LABで、試したことや先に確認したい条件を共有できます。まずはログインなしで読めます。
AI NEW LABで論点を見るSource Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
はじめに
ゲームサービス事業本部の三軒家です。
社内のとある Ruby on Rails プロダクトにおいて、ジョブキューシステムのバックエンドを Solid Queue に移行するプロジェクトを推進しています。
本記事では、Solid Queue への移行に際して実施した負荷試験の内容と、その結果得られた Solid Queue のパフォーマンス特性に関する知見についてご紹介します。
TL; DR
- Solid Queue は、シングルスレッド設定において、約 1000 job/s のスループットを安定して処理できる。
- 1000 job/s は 86,400,000 job/day(約 8000万 job/日)に相当する。
- 37signals の DHH 氏は「Tens of millions of daily HEY jobs now run off SQ exclusively!(数千万件/日)」と発言しているが、我々の検証ではそれを上回る負荷も処理可能であることが示された。
- 参考: https://x.com/dhh/status/1816913608024232032?s=20
- マルチスレッドモードを利用するか、後述の extra claim パッチを適用すれば、不安定さはあるものの、約 2000 job/s 程度の負荷であれば処理できる。
- 高負荷環境では、Solid Queue のワーカープロセス数の調整が必要となる。
Solid Queue 移行の背景
今回 Solid Queue への移行を行ったプロダクトは、全世界に配信されている複数のモバイルゲームタイトルで利用されている基盤サーバーシステムです。このプロダクトは Ruby on Rails で長年開発されており、AWS および Google Cloud の両方で運用されています。全世界展開を行うという性質上、高品質でありながら高いパフォーマンスを発揮することが求められています。
原文を表示
はじめに ゲームサービス事業本部の三軒家です。
社内のとある Ruby on Rails プロダクトにて、ジョブキューシステムのバックエンドを Solid Queue に移行するプロジェクトを推進しています。
この記事では、Solid Queue への移行に際して実施した負荷試験の様子と、その結果として得られた Solid Queue のパフォーマンス特性に関する知見についてご紹介しようと思います。
TL; DR Solid Queue は、シングルスレッドな設定において、 1000 job/s 程度のスループットを安定して処理することができる 1000 job/s = 86400000 job/day なので、8000万 job/day ということになる 37signals1 の DHH氏は Tens of millions of daily HEY jobs now run off SQ exclusively! (数千万/day) と発言しているが、それを超える負荷でもさばき切れるということが示せた https://x.com/dhh/status/1816913608024232032?s=20 さらに、マルチスレッドモードを利用したり、後述の extra claim パッチを利用すれば、不安定ながらも 2000 job/s 程度の負荷であれば捌き切ることができる 高負荷環境においては、Solid Queue のワーカープロセス数の調整が必要となる Solid Queue 移行の背景 今回 Solid Queue への移行を行ったプロダクトは、全世界へ配信を行う複数のモバイルゲームタイトルで利用されている、基盤サーバーシステムです。このプロダクトは Ruby on Rails で長年開発されており、AWS / Google Cloud の両方で運用されています。全世界展開を行うという背景から、高品質でありながらも高いパフォーマンスを発揮しなければならないというミッションが課されています。
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み