基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の,システムの性能評価と信頼性についてシンプルにまとめています。システムの性能評価については,性能評価指標(スループット,レスポンスタイム(応答時間),ターンアラウンドタイム),性能評価方法(ベンチマーク,モニタリング)について,システムの信頼性については,RASIS,バスタブ曲線(故障率曲線),稼働率(MTBF,MTTR,直列システム,並列システム,直列と並列が混在するシステム)について説明しています。どれも,大切な内容ですので,ひとつひとつ丁寧に,じっくり読んでみましょう。
システムの評価
コンピューターシステムの優劣は,性能,信頼性,経済性(コストパフォーマンス)で評価します。
システムの性能評価
システムの性能評価指標
スループット
スループットとは,システムが単位時間当たりに処理できる件数や,通信回線が単位時間当たりに伝送できる実効伝送量のことをいいます。スループットを上げるためには,ハードウェアの処理能力を高くすればよいのですが,それ以外にも,CPUの遊休時間を減らしたり,システムにかかる余分な負荷(オーバーヘッド)を減らしたりなど,その他の影響についても対応する必要があります。
単位時間とは,基準となる時間の長さのことをいいます。たとえば,単位時間を1秒とした場合,ある物体が単位時間当たりに10m進んだとすると,その物体の速さは10m/sになります。
レスポンスタイム(応答時間)
レスポンスタイムとは,データの入力が終わってから,結果の出力を開始するまでの時間のことをいいます。
レスポンスタイム
=CPU時間+処理待ち時間+オーバーヘッド時間
※ オーバーヘッド時間とは,余分にかかる時間のことをいいます。
ターンアラウンドタイム
ターンアラウンドタイムとは,コンピューターにジョブの投入(処理の依頼)を行ってから,結果が完全に得られるまで(出力されるまで)の時間のことをいいます。
ターンアラウンドタイム
=入力時間+レスポンスタイム(CPU時間+処理待ち時間)+出力時間+オーバーヘッド時間
※ オーバーヘッド時間とは,余分にかかる時間のことをいいます。
システムの性能評価方法
ベンチマーク
ベンチマークとは,システムの性能を評価するために行うテストのことをいいます。システムの使用目的に合わせて,さまざまなテスト用のプログラムを実行することにより,システムの性能を把握することができます。また,異なるシステムでテストすることにより,性能を比較することもできます。
たとえば,PassMarkというソフトウェアで測ったCPUのベンチマークスコア(2023年,無料で公開)は,次のとおりでした。
名称 | PassMark | コア | スレッド | 定格クロック | 最大クロック |
---|---|---|---|---|---|
Ryzen 9 7950X | 63531 | 16 | 32 | 4.5GHz | 5.7GHz |
Core i9 13900KS | 62287 | 24 | 32 | 3.2GHz | 6.0GHz |
Core i7 13700K | 46939 | 16 | 24 | 3.4GHz | 5.4GHz |
Ryzen 7 7700X | 36554 | 8 | 16 | 4.5GHz | 5.4GHz |
Core i5 13500 | 32682 | 14 | 20 | 2.5GHz | 4.8GHz |
… | … | … | … | … | … |
モニタリング
モニタリングとは,実際に稼働しているシステムを測定し,評価することをいいます。
ソフトウェアモニタリング
ソフトウェアモニタリングでは,測定用のプログラムを実行させてシステムの性能などに関するデータを取得します。
※ 測定用のプログラムを実行させますので測定値に影響が出ます。
ハードウェアモニタリング
ハードウェアモニタリングの場合は,測定用のハードウェアを接続してシステムの性能などに関するデータを取得します。
※ 測定用のハードウェアを接続した場合は,測定値への影響を抑えることができます。
システムの信頼性
システムの信頼性とは,故障や誤動作をすることなく安定して機能する性質をいいます。
RASIS
RASISは,システムの信頼性を向上させるための指標で,次の5つの特性の頭文字をつなげたものです。
Reliability(信頼性) | 故障しにくいこと |
Availability(可用性) | 常にシステムが利用可能であること |
Serviceability(保守性) | 障害が発生した場合に早期復旧できること |
Integrity(保全性) | データに矛盾がないこと(不整合がないこと) |
Security(機密性) | 機密性が高いこと(不正アクセスされにくいこと) |
バスタブ曲線(故障率曲線)
システムの故障率と使用時間の関係は,下図のように(バスタブのような形に)なるといわれています。
初期故障期間 | 設計や製造時の欠陥による故障が発生する期間。改修するにつれて障害の発生頻度は減少していく |
偶発故障期間 | システムの安定期に発生する偶発的な故障が発生する期間 |
摩耗故障期間 | システムを構成する部品の摩耗や老朽化により故障が増えていく期間。ソフトウェアについても,仕様変更や機能の追加などによりバグが増えやすくなる。新品と交換する方が経済的な場合が多い |
稼働率
システムの稼働率を求める式は次のとおりです。
稼働率=稼働時間の合計総運転時間=稼働時間の合計稼働時間の合計+停止時間の合計
たとえば,あるシステムの稼働時間の合計が90時間で,停止時間の合計が10時間の場合,稼働率は0.9(90%)になります。
稼働率=90時間90時間+10時間=0.9
MTBF(平均故障間隔)とMTTR(平均修理時間)
システムの稼働率は,次の式で求めることもできます。
稼働率=MTBFMTBF+MTTR
MTBF(平均故障間隔)=稼働時間の合計故障した回数
MTTR(平均修理間隔)=故障時間の合計故障した回数
※ MTBF(Mean Time Between Failure)。MTBFの値が大きいほど信頼性が高く(故障しにくく)なります。MTBFの値は,予防保守をすることにより大きくすることができます。
※ MTTR(Mean Time To Repair)。MTTRの値が小さいほど保守性がよいといえます。MTTRの値は,エラーログなどがあれば,短くすることができます。
たとえば,あるシステムが下図のように稼働した場合,MTBF,MTTR,稼働率は,次のようになります。
直列システムの稼働率
n台の装置が直列に接続されているシステムにおいて,それぞれの装置の稼働率がA1,A2,…Anのとき,システム全体の稼働率は次の式で求めることができます。
※ 直列に接続されているシステムの場合,1台の装置が故障するだけで全体に影響が及びます。
全体の稼働率=A1×A2×…×An
たとえば,2台の装置(稼働率は,それぞれ0.9,0.8)が直列に接続されているシステム全体の稼働率は0.72になります。
並列システムの稼働率
n台の装置が並列に接続されているシステムにおいて,それぞれの装置の稼働率がA1,A2,…Anのとき,システム全体の稼働率は次の式で求めることができます。
※ 並列に接続されているシステムの場合,少なくとも1台の装置が正常に稼働していれば,全体としても稼働していることになります。
すべての装置が故障する確率
=(1ーA1)(1ーA2)…(1ーAn)
なので,
全体の稼働率
=1-すべての装置が故障する確率
=1-(1ーA1)(1ーA2)…(1ーAn)
たとえば,2台の装置(稼働率は,それぞれ0.9,0.8)が並列に接続されているシステム全体の稼働率は0.98になります。
直列と並列が混在するシステムの稼働率
たとえば,上図のように直列と並列が混在するシステムの場合,全体の稼働率は次のように求めます。
まとめ
今回は,システムの性能評価と信頼性について,シンプルにまとめてみました。計算などありましたが,みなさん理解できましたか?今回の内容は,基本情報技術者試験や応用情報技術者試験など,実際の情報処理技術者試験で,よく出題されます。繰り返し,じっくり読んで,定着させましょう。