Hitachi

Cosminexus V11 アプリケーションサーバ Webサービス開発ガイド


39.3.7 ログの見積もり

各ログファイルの見積もり方法について説明します。

〈この項の構成〉

(1) 使用するモデルおよびログの設定

ログの見積もり方法は,次に示すモデル1およびモデル2を例に説明します。

モデル1:正常系

WebサービスクライアントまたはWebリソースクライアントからリクエストを送信し,WebサービスまたはWebリソースが正常にレスポンスを返す場合のモデルです。

モデル2:異常系

WebサービスまたはWebリソースでRuntimeExceptionが発生する場合のモデルです。WebリソースにはRuntimeExceptionを処理できる例外マッピングプロバイダが存在しないものとします。

WebサービスクライアントまたはWebリソースクライアントでは,オブジェクトの再利用を前提にしています。オブジェクトの再利用については,「3.6.4 注意事項」または「11.4.5 注意事項」を参照してください。

JAX-WS機能の場合,WebサービスクライアントやWebサービスを実装する形態によってさまざまです。必要に応じてモデルを追加してください。主な観点を次に示します。

JAX-RS機能の場合,JAX-RS仕様の性質上HTTPリクエストやHTTPレスポンスを送受信する方法は,WebリソースクライアントやWebリソースを実装する形態によってさまざまです。必要に応じてモデルを追加してください。主な観点を次に示します。

このモデルで使用するログの設定を示します。

ログの設定値およびデフォルト値については,「10.1.2 共通定義ファイルの設定項目」または「13.1.2 共通定義ファイルの設定項目」を参照してください。

(2) JAX-WS機能のログの見積もり方法

モデル1およびモデル2の各ログの出力結果を次の表に示します。

次の表にある「起動時」とはアプリケーション開始時,「終了時」とはアプリケーション停止時,「1リクエスト処理時」とはWebサービスによる1リクエストの処理を表します。出力量はこれらの期間に出力されるログの量を示します。

表39‒15 起動時,1リクエスト処理時,停止時の各ログの出力例(モデル1/モデル2)

項番

ログの種類

出力量

起動時

1リクエスト処理時

終了時

1

稼働ログ

0.7KB

  • モデル1:0.0KB

  • モデル2:0.3KB

0.3KB

2

例外ログ

0KB

  • モデル1:0KB

  • モデル2:5KB

0KB

3

通信ログ

0KB

0.3KB+HTTPリクエスト+HTTPレスポンス量

0KB

4

保守ログ

2.4KB

  • モデル1:3.2KB

  • モデル2:3.6KB

0.4KB

注※

例外のスタックトレースの量になります。

各ログの見積もり式を次に示します。この結果を基に,各ログファイル一つのファイルサイズ,およびファイル面数を求めます。

[単位時間当たりのログの出力量] = 
   [初期化時の出力量]
   +[モデル1の1リクエスト処理時の出力量]×総リクエスト数×モデル1のリクエストの割合
   +[モデル2の1リクエスト処理時の出力量]×総リクエスト数×モデル2のリクエストの割合
        :
   +[モデルnの1リクエスト処理時の出力量]×総リクエスト数×モデルnのリクエストの割合
   +[終了時の出力量]

この式を基に,例を使用して各ファイルの見積もり方法を説明します。

想定する例として,1分間に平均100件のリクエストがあるようなシステムで,ログを3時間ラップアラウンドされないようにログファイルのサイズと個数を見積もるものとします。全リクエスト中,モデル1のリクエストが80%,モデル2のリクエストが20%を占めるとすると,3時間では計18,000リクエスト(100リクエスト/分×180分)が到着します。

この場合,稼働ログの出力量を計算すると,次のとおりになります。

0.7KB(初期化時の出力量)
+{0KB×18000}(モデル1の全リクエスト処理時の出力量)×0.8(モデル1のリクエストの割合)
+{0.3KB×18000}(モデル2の全リクエスト処理時の出力量)×0.2(モデル2のリクエストの割合)
+0.3KB(終了時の出力量)
=1081KB

計算の結果,ファイルサイズとファイル面数はデフォルト値で間に合います。

同様に,保守ログの出力量を計算すると,次のとおりになります。

2.4KB(初期化時の出力量)
+{3.2KB×18000}(モデル1の全リクエスト処理時の出力量)×0.8(モデル1のリクエストの割合)
+{3.6KB×18000}(モデル2の全リクエスト処理時の出力量)×0.2(モデル2のリクエストの割合)
+0.4KB(終了時の出力量)
=59043KB≒57.6MB

計算の結果,ログファイル一つ当たり15MBとすると,面数は四つとなります。

注意事項

通信ログでは,HTTPリクエストやHTTPレスポンスの内容によって,出力量が変化します。添付ファイルを使用して通信する場合は,通信ログにも添付ファイルの内容が記録されるため,特に大きな添付ファイルを使用しているときは,通信ログファイルのサイズや面数を考慮する必要があります。

(3) JAX-RS機能のログの見積もり方法

モデル1およびモデル2の各ログの出力結果を次の表に示します。

次の表にある「起動時」とはアプリケーション開始時,「終了時」とはアプリケーション停止時,「1リクエスト処理時」とはWebリソースによる1リクエストの処理を表します。出力量はこれらの期間に出力されるログの量を示します。

表39‒16 起動時,1リクエスト処理時,停止時の各ログの出力例(モデル1/モデル2)

項番

ログの種類

出力量

起動時

1リクエスト処理時

終了時

1

稼働ログ

1KB

  • モデル1:0KB

  • モデル2:0.3KB

0KB

2

例外ログ

0KB

  • モデル1:0KB

  • モデル2:1.1KB

0KB

3

通信ログ

0KB

0.3KB+HTTPリクエスト+HTTPレスポンス量

0KB

4

保守ログ

23KB

  • モデル1:0KB

  • モデル2:0.3KB

0KB

注※

例外のスタックトレースの量になります。

各ログの見積もり式を次に示します。この結果を基に,各ログファイル一つのファイルサイズ,およびファイル面数を求めます。

[単位時間当たりのログの出力量] = 
   [起動時の出力量]
   +[モデル1の1リクエスト処理時の出力量]×総リクエスト数×モデル1のリクエストの割合
   +[モデル2の1リクエスト処理時の出力量]×総リクエスト数×モデル2のリクエストの割合
        :
   +[モデルnの1リクエスト処理時の出力量]×総リクエスト数×モデルnのリクエストの割合
   +[終了時の出力量]

この式を基に,例を使用して各ファイルの見積もり方法を説明します。

想定する例として,1分間に平均100件のリクエストがあるようなシステムで,ログを3時間ラップアラウンドされないようにログファイルのサイズと個数を見積もるものとします。全リクエスト中,モデル1のリクエストが80%,モデル2のリクエストが20%を占めるとすると,3時間では計18,000リクエスト(100リクエスト/分×180分)が到着します。

この場合,稼働ログの出力量を計算すると,次のとおりになります。

1KB(初期化時の出力量)
+{0KB×18000}(モデル1の1リクエスト処理時の出力量)×0.8(モデル1のリクエストの割合)
+{0.3KB×18000}(モデル2の全リクエスト処理時の出力量)×0.2(モデル2のリクエストの割合)
+0KB(終了時の出力量)
=1081KB

計算の結果,ファイルサイズとファイル面数はデフォルト値で間に合います。

同様に,保守ログの出力量を計算すると,次のとおりになります。

23KB(初期化時の出力量)
+{0KB×18000}(モデル1の1リクエスト処理時の出力量)×0.8(モデル1のリクエストの割合)
+{0.3KB×18000}(モデル2の全リクエスト処理時の出力量)×0.2(モデル2のリクエストの割合)
+0KB(終了時の出力量)
=1103KB

計算の結果,ファイルサイズとファイル面数はデフォルト値で間に合います。

注意事項

通信ログでは,HTTPリクエストやHTTPレスポンスの内容によって,出力量が変化します。JSON形式のデータを使用して通信する場合は,通信ログにもJSON形式のデータが記録されるため,特に大きなJSON形式のデータを使用しているときは,通信ログファイルのサイズや面数を考慮する必要があります。