UNISIA-SE Tech Blog

気まぐれお勉強日記

[応用情報技術] [基礎] [12] 覚書き : システム評価指標

1. 前提条件


このページでは、応用情報技術者試験の出題分野である システム評価指標 に関する覚書きを列挙する。

一度内容を理解したことを前提とし、最低限の解説に留めていることに注意。

2. システムの性能指標


システムの評価指標 とは、性能、信頼性、経済性などの総合的な評価指標のこと。

以下、性能 についての指標や手法。

レスポンスタイム
システムに 要求 してから 応答(レスポンス) があるまでの時間で、早いレスポンス であることを表す指標となる。

また、システムに 要求する準備を開始した時間 から 応答が完了するまでの時間ターンアラウンドタイム という。

例 \() \)下記、表の多重度が\(1\)となる ジョブ\(A\)~\(C\) において、\(C\)のターンアラウンドタイムを求める。

ジョブ 到着時間 実行時間
\(A\)\(0\) 秒\(5\) 秒
\(B\)\(2\) 秒\(6\) 秒
\(C\)\(4\) 秒\(3\) 秒

→ \(A\)、\(B\) の到着から実行完了までが \(5\ +\ 6\ = 11\) 秒 、\(C\)の到着時間が \(4\) 秒。
よって、\(C\) の待機時間は、\(11\ - 4\ =\ 7\) 秒 となり、これに \(C\) 実行時間 \(3\) 秒 を加えて、\(10\) 秒 となる。

スループット
単位時間あたりの 処理可能数 で処理性能を表す指標となる。

ベンチマーク
処理速度 を計測するための指標で計測用プログラムの実行結果を基に性能を比較する。

以下、代表的なベンチマーク。

TPC-C
TPC (トランザクション処理性能評議会) が作成している オンライントランザクション処理 のベンチマーク。

SPECint
SPEC(標準性能評価法人) が作成している 整数演算評価 のベンチマーク。

SPECfp
SPEC(標準性能評価法人) が作成している 浮動小数点演算評価 のベンチマーク。

モニタリング
実際にシステムを稼働させて、性能を測定する手法。

3. キャパシティプランニング


キャパシティプランニング とは、ニーズを満たすために必要なシステムリソースの処理能力や数量などを見積もり、最適なシステム構成を計画する ことで次の手順で計画する。

ワークロード情報の収集
CPU利用率などの測定を行い、コンピュータ資源の利用状況や負荷状況(ワークロード) を収集する。

サイジング
システムに必要な規模や性能を見通して、サーバー数やCPU性能、ストレージ容量などの構成要素を用意 または、見積りを行う。

評価 / チューニング
サイジング での見積もりが適切がどうか、テスト環境で評価しチューニングを繰り返えす。
TPCSPEC 等のベンチマークを参考する場合もある。

4. RASIS (信頼性の評価項目)


システムの信頼性を総合評価する基準として、以下 5つの評価項目を基に信頼性を判断する RASIS という概念がある。

Reliability (信頼性)
安全性(故障や障害が発生する可能性の低さ) を表し、指標として次項の MTBF や 故障率 が用いられる。

Availability (可用性)
稼働している割合の高さを表し、指標として次項の 稼働率 が用いられる。

Serviceability (保守性)
障害発生時のメンテナンスのしやすさ、復旧の速さを表し、指標として次項の MTTR が用いられる。

Integrity (保全性)
障害発生時や過負荷状態におけるデータ不整合の発生のしにくさや、データの欠陥または、消失時の復元率を表し、データ的な一貫性を確保する指標。

Security (機密性)
情報漏えいや不正侵入などのセキュリティ事故が発生する可能性の低さを表し、セキュリティ事故を防止する指標。

5. 信頼性の指標


以下、代表的な信頼性指標

MTBF (Mean Time Between Failure:平均故障間隔)
故障復旧後から次の故障までにかかる平均時間。

MTTR (Mean Time To Repair:平均復旧時間)
故障したシステムの復旧にかかる平均時間。

稼働率
ある特定の時間にシステムが稼働している確率。

稼働率 \(\displaystyle=\ \frac{MTBF}{MTBF\ +\ MTTR}\)

故障率
ある特定の時間にシステムが稼働していない確率。

故障率 \(=\ (1\ -\) 稼働率 \()\)
※ 不稼働率とも呼ばれる。

または、単位時間内に発生する故障する確率。
故障率 \(\displaystyle=\ \frac{1}{MTBF}\)

6. 信頼性の計算


以下、信頼性と稼働率の基本的な計算方法。

並列システム
機器を並列にしたシステムを指し、少なくとも一つ稼働していれば不稼働(故障状態)とならないため、稼働率は高く なる。

二つの機器を並列にたシステムがあったとき、稼働率をそれぞれ \(a\)、\(b\) としたとする。

このときの不稼働率は、それぞれ \(1\ -\ a\) と \(1\ -\ b\) となり、稼働率は、以下の計算で求められる。

稼働率 \(=\ 1\ - (1\ -\ a)(1\ -\ b)\)

直列システム
機器を直列にしたシステムを指し、一つでも不稼働(故障状態)であれば稼働しないため、稼働率は低く なる。

それぞれの機器の稼働率をそれぞれ \(a\)、\(b\) としたとき、稼働率は、以下の計算で求められる。

稼働率 \(=\ a \times\ b\)

並列と直列を組合わせたシステム
次の2種類に分類される。

\((1)\) 直列システム \(A\)、\(B\) と 直列システム \(C\) が並列。
\((2)\) 直列システム \(A\) と並列システム \(B\)、\(C\) が直列。

このとき、それぞれの稼働率を \(a\)、\(b\)、\(c\) とすると \((1)\)、\((2)\) の稼働率は、次で求められる。

\((1)\) の 稼働率 \(=\ 1\ - (1\ -\ ab)(1\ -\ c)\)
\((2)\) の 稼働率 \(=\ a\{1\ - (1\ -\ b)(1\ -\ c)\}\)

例 \()\) 上記 \((1)\)、\((2)\) の稼働率が \(0\) より大きく、\(1\) 未満である場合、どちらの稼働率が高くなるか?
→ \((1)\) と \((2)\) の差を求める。
\((1)\ -\ (2)\)
\(=\ 1\ - (1\ -\ ab)(1\ -\ c)\ -\ a\{1\ - (1\ -\ b)(1\ -\ c)\}\)
\(=\ c\ -\ ac\)
\(=\ c(1\ -\ a)\)

ここで、\(a\)、\(c\) の稼働率は、\(0\) より大きく、\(1\) 未満であることが前提。

よって、\(1\ -\ a\ >\ 0\)、\(c\ > 0\) となり、差はプラスであるため、\((2)\)より、\((1)\) の稼働率が高くなる。

以上。


【参考文献】
瀬戸 美月 (2020) 『徹底攻略 応用情報技術者教科書』株式会社インプレス


Copyright UNISIA-SE All Rights Reserved.
s-hama@unisia-se.jp