2.2 帳票の出力規模を検討する
2.2.1 サイジングの検討
業務で使用する帳票のページ数(ファイルサイズ)から,ピーク時に必要な CPU コア数を計算します。
(1) 計算する前の準備
計算する前に,次の内容を決定しておいてください。
(a) モデルとなる帳票の選定
計算時のモデルとなる帳票を選定します。業務上で重要な帳票や,特に利用される帳票を選定することを お勧めします。
なお,各項目に振られたアルファベットは,(2)の計算式で使用します。
(b) 基礎数値の決定
(a)で選定した帳票を測定して,次の基本数値を決定しておきます。
• A:測定マシンの CPU クロック数(単位:GHz)
• B:モデルとなる帳票のページ数
• C:モデルとなる帳票のファイルサイズ(単位:KB)
• D:1 帳票当たりの処理時間(単位:ミリ秒)
(c) 前提条件の決定
(a)で選定した帳票や運用する環境に関する次の前提条件を決定しておきます。
• E:実際の業務で使用するマシンの CPU クロック数(単位:GHz)
• F:帳票のページ数※
• G:帳票のファイルサイズ(単位:KB)※
• H:1 か月当たりのトランザクション数 注※
測定マシンと実際の業務で使用するマシンで同じ帳票をモデルとして使用する場合は,(b)で説明した ものと同じ値を使用します。
(2) 計算方法
(1)で示した各項目の値を次のとおりとした場合の計算例とともに,計算方法を説明します。
• A:2.8GHz
• B:9,988 ページ
• C:22,000KB
• D:33,000 ミリ秒
• E:2.26GHz
• F:10,000 ページ
• G:22,000KB
• H:4,500 件
なお,数式の「↑(式)↑」は値の切り上げを示します。
1. 1 日当たりの平均トランザクション数を算出します。
計算式:
↑(H÷営業日数)↑
例:
↑(4,500÷20)↑=225
2. 1 日当たりの最大トランザクション数を算出します。
計算式:
↑(H×処理が集中する日の集中率)↑
集中率は,1 か月当たりの処理のうち何パーセントが 1 日に集中するかを見積もった値です。
例:
↑(4,500×0.1)↑=450
3. 1 時間当たりの最大トランザクション数を算出します。
計算式:
↑(1 日当たりの最大トランザクション数×処理が集中する時間の集中率)↑
集中率は,処理が集中する日の処理のうち何パーセントが 1 時間に集中するかを見積もった値です。
例:
↑(450×0.35)↑=158
4. 本番環境の 1 帳票当たりの処理時間(単位:ミリ秒)を算出します。
計算式:
例:
↑(33,000×((22,000÷2.26)÷(22,000÷2.8)))↑=40,885 5. 1CPU コア当たりの,1 時間に処理できるリクエスト数を算出します。
計算式:
↑((1,000×60×60)÷本番環境の 1 帳票当たりの処理時間)↑
例:
↑((1,000×60×60)÷40,885)↑=88
6. 1CPU コア当たりの,1 日に処理できるリクエスト数を算出します。
計算式:
↑(5.で算出した値×1 日当たりの稼働時間)↑
例(1 日当たりの稼働時間を 8 時間とした場合):
↑(88×8)↑=704
7. 処理が集中する日で必要な CPU コア数を算出します。
計算式:
↑(2.で算出した値÷6.で算出した値)↑
例:
↑450÷704↑=1
8. 処理が集中する時間帯で必要な CPU コア数を算出します。
計算式:
↑(3.で算出した値÷5.で算出した値)↑
例:
↑158÷88↑=2
計算結果を基に,必要なコア数の条件を満たす性能のマシンを選択してください。
(3) 集中率の考え方
業務によっては,特定の日または特定の時間に処理が集中することがあります。
この「特定の日」または「特定の時間」のリクエストを処理するためにはどの程度の CPU が必要なのか を,集中率を設定することで計算しています。
例えば,業務の内容が月次処理であれば締め日に集中しますし,日々の締め処理であれば特定の時間帯に 集中します。このように,業務のピークを考えて集中率を算出してください。