概要
情報技術の基礎として理解しておきたいシステム評価指標について、性能指標、キャパシティプランニング、RASIS、信頼性指標、稼働率計算を整理する。
システム評価では、速いか、止まりにくいか、復旧しやすいかを数値で判断する。
用語を覚えるだけでなく、指標が何を測っているかを意識すると計算問題にも対応しやすい。
この記事の構成
- システムの性能指標
システムの評価指標とは、性能、信頼性、経済性などの総合的な評価指標のこと。 - キャパシティプランニング
キャパシティプランニングとは、ニーズを満たすために必要なシステムリソースの処理能力や数量などを見積もり、 最適なシステム構成を計画すること。 - RASIS(信頼性の評価項目)
RASIS(信頼性の評価項目)の意味と要点を具体例から整理。 - 信頼性の指標
信頼性の指標の意味と要点を具体例から整理。 - 信頼性の計算
信頼性と稼働率の基本的な計算方法。
システムの性能指標
システムの評価指標とは、性能、信頼性、経済性などの総合的な評価指標のこと。
以下、性能についての指標や手法を示す。
-
レスポンスタイム
システムへ要求を送ってから、利用者が応答を受け取り始める、または必要な応答を受け取るまでの時間。どこを応答完了とするかは対象システムの定義に合わせる。また、ジョブをシステムへ投入してから処理が完了するまでの時間をターンアラウンドタイムという。
-
例:下記の表の多重度が \(1\) となるジョブ \(A\) ~ \(C\) において、 \(C\) のターンアラウンドタイムを求める。
ジョブ 到着時間 実行時間 \(A\) \(0\) 秒 \(5\) 秒 \(B\) \(2\) 秒 \(6\) 秒 \(C\) \(4\) 秒 \(3\) 秒 到着順に処理すると、\(A\) は \(0\)~\(5\) 秒、\(B\) は \(5\)~\(11\) 秒、\(C\) は \(11\)~\(14\) 秒に実行される。
\(C\) は \(4\) 秒に到着しているため、待機時間は \(11 - 4 = 7\) 秒となる。これに実行時間 \(3\) 秒を加え、ターンアラウンドタイムは \(10\) 秒となる。
-
-
スループット
単位時間あたりの処理可能数で処理性能を表す指標。 -
ベンチマーク
定められたワークロードや手順でシステムを測定し、その結果から性能を比較する試験または評価方法。異なる条件の結果を比較しないよう、構成、データ量、測定ルールをそろえる必要がある。- 代表的なベンチマーク
- TPC-C:TPC(トランザクション処理性能評議会)が作成しているオンライントランザクション処理のベンチマーク。
- SPEC CPU:SPEC(Standard Performance Evaluation Corporation)が提供する、整数演算や浮動小数点演算を含むCPU性能のベンチマークスイート。
※SPECint、SPECfpは旧世代の指標名で、現行スイートでは整数・浮動小数点を速度やスループット別の指標で評価。
- 代表的なベンチマーク
-
モニタリング 実際にシステムを稼働させて、性能を測定する手法。
キャパシティプランニング
キャパシティプランニングとは、ニーズを満たすために必要なシステムリソースの処理能力や数量などを見積もり、最適なシステム構成を計画すること。
- 主な手順
- ワークロード情報の収集
CPU利用率などの測定を行い、コンピュータ資源の利用状況や負荷状況(ワークロード)を収集。 - サイジング
システムに必要な規模や性能を見通して、サーバー数やCPU性能、ストレージ容量などの構成要素を用意または見積もる。 - 評価/チューニング
サイジングでの見積もりが適切かどうか、テスト環境で評価しチューニングを繰り返す。
※TPCやSPEC等のベンチマークを参考にする場合もある。
- ワークロード情報の収集
RASIS(信頼性の評価項目)
システムの信頼性を総合評価する基準として、以下 \(5\) つの評価項目を基に信頼性を判断するRASISという概念がある。
- Reliability(信頼性)
故障しにくさや、要求された機能を正常に果たし続ける度合いを表し、指標として次項のMTBFや故障率が用いられる。 - Availability(可用性)
稼働している割合の高さを表し、指標として次項の稼働率が用いられる。 - Serviceability(保守性)
障害発生時のメンテナンスのしやすさ、復旧の速さを表し、指標として次項のMTTRが用いられる。 - Integrity(保全性)
データが不正に変更、破壊、消失されず、一貫性や完全性を保てる度合いを表す。 - Security(安全性/機密性)
情報漏えいや不正侵入などを防ぎ、システムや情報を保護する度合いを表す。
信頼性の指標
代表的な信頼性指標:
-
MTBF(Mean Time Between Failure:平均故障間隔)
故障復旧後から次の故障までにかかる平均時間。 -
MTTR(Mean Time To Repair:平均復旧時間)
故障したシステムの復旧にかかる平均時間。 -
稼働率
ある特定の時間にシステムが稼働している確率。\[ \text{稼働率} = \frac{MTBF}{MTBF + MTTR} \] -
不稼働率
ある時点でシステムが稼働していない確率。\[ \text{不稼働率} = 1 - \text{稼働率} \] -
故障率
正常に稼働している機器が、単位時間内に故障する割合を表す。
故障率が時間によらず一定で、故障時間が指数分布に従うと仮定した場合は、次の関係を用いることができる。\[ \text{故障率} = \frac{1}{MTBF} \]
信頼性の計算
信頼性と稼働率の基本的な計算方法。
-
並列システム
機器を並列にしたシステムを指し、少なくとも一つ稼働していれば不稼働(故障状態)とならないため、稼働率は高くなる。
以下では、各機器の故障が互いに独立しているものと仮定する。二つの機器を並列にしたシステムがあったとき、稼働率をそれぞれ \(a\)、\(b\) とする。
このときの不稼働率は、それぞれ \(1 - a\) と \(1 - b\) となり、稼働率は以下の計算で求められる。
\[ \text{稼働率} = 1 - (1 - a)(1 - b) \] -
直列システム
機器を直列にしたシステムを指し、一つでも不稼働(故障状態)であれば稼働しないため、稼働率は低くなる。以下では、各機器の故障が互いに独立しているものと仮定する。
それぞれの機器の稼働率を \(a\)、\(b\) としたとき、稼働率は以下の計算で求められる。
\[ \text{稼働率} = 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 - (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) の稼働率が高くなる。
まとめ
- レスポンスタイムは要求から定義した応答点まで、ターンアラウンドタイムは処理完了までの時間を表し、スループットは単位時間当たりの処理量を表す。
- キャパシティプランニングでは、将来の負荷や利用量を見積もり、必要な性能と容量を満たすシステム構成を計画する。
- 信頼性は故障しにくさ、可用性は利用可能な状態を保つ度合いで、RASISはこれらの評価観点を整理したもの。
- MTBFは故障までの平均時間、MTTRは修理にかかる平均時間で、稼働率の計算に使われる。
- 直列構成は全要素の稼働が必要で、並列構成は少なくとも一系統が稼働すればよいため、稼働率の求め方が異なる。
参考文献
- 瀬戸 美月 (\(2020\)) 『徹底攻略 応用情報技術者教科書』株式会社インプレス
- IBM - MTTRとMTBFの違いとは(日本語・信頼性指標の公式解説)
- NASA - Formulas:Inherent Availability and Reliability(英語・稼働率と信頼性の公的計算資料)
- Standard Performance Evaluation Corporation - SPEC CPU Benchmarks(英語・CPUベンチマークの公式資料)
- Transaction Processing Performance Council - TPC-C(英語・トランザクション性能評価の公式仕様)