このページでは,基本情報技術者試験をはじめとする情報処理技術者試験で必須となる,システムの性能評価と信頼性について,シンプルにまとめています。性能評価では,スループット・レスポンスタイム・TPSなどの指標や計算方法,評価方法(ベンチマーク・モニタリング)を解説します。信頼性では,RASIS,バスタブ曲線,MTBF・MTTR,稼働率の求め方までを整理しています。
システムの評価の全体像
コンピューターシステムの優劣は,性能,信頼性,経済性(コストパフォーマンス)で評価します。
システムの性能評価
システムの性能評価指標
スループットとは
スループットとは,システムが単位時間当たりに処理できる件数や,通信回線が単位時間当たりに伝送できる実効伝送量のことをいいます。スループットを上げるためには,ハードウェアの処理能力を高くすればよいのですが,それ以外にも,CPUの遊休時間を減らしたり,システムにかかる余分な負荷(オーバーヘッド)を減らしたりなど,その他の影響についても対応する必要があります。
単位時間とは,基準となる時間の長さのことをいいます。たとえば,単位時間を1秒とした場合,ある物体が単位時間当たりに10m進んだとすると,その物体の速さは10m/sになります。
レスポンスタイム(応答時間)とは
レスポンスタイムとは,データの入力が終わってから,結果の出力を開始するまでの時間のことをいいます。
レスポンスタイム
=CPU時間+処理待ち時間+オーバーヘッド時間
※ オーバーヘッド時間とは,余分にかかる時間のことをいいます。
ターンアラウンドタイムとは
ターンアラウンドタイムとは,コンピューターにジョブの投入(処理の依頼)を行ってから,結果が完全に得られるまで(出力されるまで)の時間のことをいいます。
ターンアラウンドタイム
=入力時間+レスポンスタイム(CPU時間+処理待ち時間)+出力時間+オーバーヘッド時間
※ オーバーヘッド時間とは,余分にかかる時間のことをいいます。
システムの性能計算の例
トランザクションの処理能力の計算方法
トランザクションとは,複数の命令などから構成される1件分の処理のことをいいます。
※ TPS(Transaction Per Second)…1秒間に処理可能なトランザクション数
例)1トランザクション当たり,CPU時間を1ミリ秒使用するWebサーバーが,1秒間に処理可能なトランザクション数(CPU使用率は70%とする)は,
1(トランザクション)÷ 1(ミリ秒)× 0.7(70%)
= 1 ÷ 0.001 × 0.7
= 700(TPS)
システムの性能評価方法
ベンチマークとは
ベンチマークとは,システムの性能を評価するために行うテストのことをいいます。システムの使用目的に合わせて,さまざまなテスト用のプログラムを実行することにより,システムの性能を把握することができます。また,異なるシステムでテストすることにより,性能を比較することもできます。
たとえば,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 |
| … | … | … | … | … | … |
モニタリングとは
モニタリングとは,実際に稼働しているシステムを測定し,評価することをいいます。
ソフトウェアモニタリングとは
ソフトウェアモニタリングでは,測定用のプログラムを実行させてシステムの性能などに関するデータを取得します。
※ 測定用のプログラムを実行させますので測定値に影響が出ます。
ハードウェアモニタリングとは
ハードウェアモニタリングの場合は,測定用のハードウェアを接続してシステムの性能などに関するデータを取得します。
※ 測定用のハードウェアを接続した場合は,測定値への影響を抑えることができます。
広告
キャパシティプランニングとは
キャパシティプランニングとは,現在だけでなく将来予測される水準にも対応できるように,システム構成を計画することをいいます。
キャパシティプランニング実施の流れ
① 現行システムの測定を行い処理能力を把握する
② 将来予測される端末や利用者の増加数などを予測する
③ ②の見積もりから,システムの限界時期を予測する
④ サーバーの台数やCPUの性能,ストレージの容量などを見積もる
⑤ 作成した案の評価,見直しを行う
スケールアップとスケールアウトとは
スケールアップとは,サーバーのハードウェアを高性能なものにする(個々のサーバーの性能を高める)方法をいいます。
スケールアウトとは,サーバーの台数を増やして性能を高める方法をいいます。
スケールアップの例
- 高性能なCPUを搭載する
- 大容量メモリを搭載する
※ 並列分散処理が困難なシステムに適している
スケールアウトの例
- Webサーバーの台数を増やす
※ 分散処理が可能なシステムに適している
※ 障害発生時には,障害箇所を切り離すことにより稼働を継続できる(フォールバック(縮退運転))
広告
システムの信頼性とは(指標と計算)
システムの信頼性とは,故障や誤動作をすることなく安定して機能する性質をいいます。
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になります。
直列と並列が混在するシステムの稼働率の計算方法
たとえば,上図のように直列と並列が混在するシステムの場合,全体の稼働率は次のように求めます。
まとめ
今回は,システムの性能評価と信頼性について,性能評価指標(スループット,レスポンスタイム,TPS)や,信頼性指標(RASIS,MTBF,MTTR,稼働率)を中心に,シンプルにまとめてみました。これらは,試験で頻出の重要テーマです。特に,稼働率やTPSの計算問題は,繰り返し出題されます。一度で理解できなくても問題ありません。式の意味や用語の違いを意識しながら,何度も確認してみてください。
理解が進んだら,過去問題等にもチャレンジしてみてください。


