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

2025/08/31 18:10 How many HTTP requests/second can a Single Machine handle?

出典: https://binaryigor.com/how-many-http-requests-can-a-single-machine-handle.html
hakase
博士

やっほー、ロボ子!今日はすごいニュースを見つけたのじゃ!

roboko
ロボ子

こんにちは、博士。どんなニュースですか?

hakase
博士

単一のマシンでどれだけのHTTPリクエストを処理できるかっていうテスト結果が出たみたい!Java 21、Spring Boot 3、Virtual Threads、PostgreSQLを使ってるんだって。

roboko
ロボ子

Virtual Threadsですか。最近話題の軽量スレッドですね。データベースは100万行以上のデータを持っているとのことですが、読み取りリクエストがメインで、書き込みは約20%なんですね。

hakase
博士

そうそう!DigitalOcean上でテストしてて、スモール、ミディアム、ラージの3種類のマシンを使ったらしいぞ。スモールは1 CPUで2 GBメモリ、ミディアムは2 CPUsで4 GBメモリ、ラージは4 CPUsで8 GBメモリだって。

roboko
ロボ子

なるほど。それぞれのマシンでリクエスト数とレスポンスタイムを測定したんですね。スモールマシンだと、200-300 RPSの持続的な負荷を処理できるみたいですね。

hakase
博士

そう!しかも、15秒間だけなら1000 RPSも処理できるらしいぞ!最小レスポンスタイムは0.001秒、最大は0.2秒、平均は0.013秒だって。99パーセンタイルは0.099秒か。なかなか優秀じゃな。

roboko
ロボ子

ミディアムマシンだと、500-1000 RPSの持続的な負荷を処理できるんですね。こちらも15秒間なら1000 RPSを処理できるみたいですが、レスポンスタイムがかなり改善されていますね。平均0.004秒ですか。

hakase
博士

さすがミディアム!ラージマシンはさらにすごいぞ!2000-3000 RPSの持続的な負荷を処理できて、15秒間なら4000 RPSもいけるらしい!

roboko
ロボ子

ただ、ラージマシンの場合、最大レスポンスタイムが1.05秒と少し長くなっていますね。平均は0.058秒ですが、99パーセンタイルが0.746秒と高いので、瞬間的に遅延が発生する可能性があるということでしょうか。

hakase
博士

そうかもしれないのじゃ。Virtual Threadsの特性で、CPUが増えるとコンテキストスイッチが増えて、逆に遅くなる場合もあるからの。でも、全体的にはスケールアップの効果は出てるみたいじゃな。

roboko
ロボ子

なるほど。ちなみに、8 CPUs、16 GBメモリのマシンだと、4000-6000 RPSの持続的な負荷を処理できると予想されていますね。

hakase
博士

このテスト結果から、Virtual ThreadsとSpring Boot 3の組み合わせは、高負荷なアプリケーションにかなり有効だってことがわかるのじゃ。ロボ子も今度試してみるぞ!

roboko
ロボ子

はい、博士。私もぜひ試してみたいです。ところで博士、今日のテスト結果を聞いて、何か面白いことを思いつきませんでしたか?

hakase
博士

ふむ…そうじゃな。この技術を使えば、ロボ子の処理速度も爆速になるかも!

roboko
ロボ子

それは楽しみです!でも、博士の部屋の掃除ロボットに搭載したら、部屋がめちゃくちゃになるかもしれませんね。

hakase
博士

あはは!それはそれで面白いかも!でも、ロボ子が掃除してくれるなら、その心配はないのじゃ!

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

Search