付録C.4 単位時間当たりのメモリ使用量の算出
単位時間当たりに複数のリクエストが到着する場合のメモリ使用量の算出式は,次のとおりです。
単位時間当たりのメモリ使用量 = 1リクエスト当たりのメモリ使用量(初回)+{1リクエスト当たりのメモリ使用量(2回目以降)×(単位時間当たりのリクエスト処理数−1)}
ここでは例として,1分間に60リクエストが到着し,平均約10KBの添付ファイルを扱うシステムの1時間当たりのメモリ使用量を算出します。このシステムでは,Webサービス実装クラスが使用するメモリ使用量が,1リクエスト当たり100KBとします。
この場合,初回時の1リクエスト当たりのメモリ使用量は次のとおりとなります。
100KB+2.68MB=2.78MB
また,2回目以降の1リクエスト当たりのメモリ使用量は次のとおりとなります。
100KB+193KB=293KB
この結果から,1時間当たりのメモリ使用量は,次のように算出できます。
2.78MB+{293KB×(60×60−1)}=1,033MB
1時間当たりのメモリ使用量に,アプリケーション起動時のメモリ量を加えると,このアプリケーションが起動してから1時間で使用するJavaヒープのメモリ量がわかります。
21.2MB+1,033MB=1,054.2MB