本文へスキップ

Spine慣れ親しんだ開発スタイルで、
より高速なサーバーを。

NestJS や Spring で使っていたコントローラーとサービスの構造で Go アプリを構成しましょう。コンストラクタ注入とインターセプターを使い、同じリソースで測定したスループットとメモリ使用量を確認できます。

企業導入の無償技術支援企業数の制限なく、導入相談から不具合対応まで。支援内容を見る
Shell
go install github.com/NARUBROWN/spine-cli/cmd/spine@v0.1.4
spine new hello-spine --module example.com/hello-spine
cd hello-spine
go mod tidy
spine contract check
spine verify
spine dev

CLIでプロジェクトを生成し、検証してから実行します。詳しい手順は「最初のアプリ」を参照してください。

CLIで最初のアプリを作る

同じリソースで、より多く。
メモリ使用量は、より少なく。

NestJS/Express、Spring MVC、FastAPI/Uvicornのそれぞれに3 vCPUと3GiBのメモリを割り当てて比較しました。

Spine 内部ラボテスト / 2026.11.01

測定条件とすべての結果を見る

163,559req/s

HTTPスループット

飽和負荷で測定した中央値

41.8MiB

観測メモリ使用量

毎秒2万リクエスト時の使用量

1.062ms

p99応答遅延

毎秒2万リクエスト時の遅延

同じCPU予算で処理したリクエスト数

高いほど良い値です

1人のユーザーが毎秒1回リクエストを送るとすると

Spine0.5.2
163,559req/s
NestJS / Express
93,977req/s

Spineなら、約69,582人分のリクエストをさらに処理できた計算です。

Spring MVC
118,943req/s

Spineなら、約44,616人分のリクエストをさらに処理できた計算です。

FastAPI / Uvicorn
50,173req/s

Spineなら、約113,386人分のリクエストをさらに処理できた計算です。

同時接続256での飽和スループットです。各実装の実際のスループットを比較しました。

毎秒のスループットの差を、1人あたり毎秒1回のリクエストとして人数に換算した例です。実際に対応できる人数は、リクエストの頻度やアプリの処理内容によって変わります。

測定データCSV

最初のアプリを作る ​