Nao000のぶろぐ

蝶を追っている少年になりたい

このブログの最大同時リクエスト数を簡易的に計算してみる

前提

このブログは Linux(Ubuntu) 上の php ( php-fpm ) で稼働しています。

このブログは1リクエストで最大約1MBを使用し、処理時間は約40ミリ秒です。

この Linux で top コマンドを使うと、メモリの使用可能量を調べると約 84 MB free でした。

ざっくり計算(php-fpm を無視)

php-fpm を無視してメモリ使用可能量だけで計算すると、40ミリ秒の間に最大84リクエストを処理可能でして、85リクエスト目は待機状態になるか、エラーになるはずです(どうなるか分かっていないです)。

ざっくり計算(php-fpm を考慮)

php-fpm は pm.max_children = 5 なので、同時最大処理数は5に制限されるはずです。

Apache httpd のキューの設定がどうなっているか知らないです。

結局

このブログは結局 pm.max_children に依存するため 40ms の間に処理できるリクエスト数は最大5のはずです。

1秒間で言うとは最大125リクエスト処理できるはずです。

40ms で最大5リクエストなのでそれぞれを25倍します。

1000ms で最大125リクエストという計算です。

おわり

そのうち Docker コンテナで動作しているローカル環境用のブログで Apache Benchmark で検証したいです。

追記 2024-11-24 20:28頃 >>>>>>>>>>>>>>>>>>>>>>>

buff/cache の存在を記事を書いた後に気づきました。約 185 buff/cache でした。

さらにメモリ使用量を考慮する場合は free コマンドで見たほうが良さげでした。

free コマンドで見ると available が約 120MB でした。

$ free -h -c 3 -s 1
               total        used        free      shared  buff/cache   available
Mem:           957Mi       688Mi        80Mi       9.0Mi       188Mi       119Mi
Swap:             0B          0B          0B

               total        used        free      shared  buff/cache   available
Mem:           957Mi       688Mi        80Mi       9.0Mi       188Mi       119Mi
Swap:             0B          0B          0B

               total        used        free      shared  buff/cache   available
Mem:           957Mi       688Mi        80Mi       9.0Mi       188Mi       119Mi
Swap:             0B          0B          0B

今回は php-fpm の設定が事実上の制限になるのであまり関係ないはずですが勉強になりました。

参考

大変勉強になりました。

Linuxのfree コマンドの見方とオプション ~availableやbuff/cacheの定義~

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<