コンピューターシステムを評価するうえで,「どれだけ速く処理できるか(性能)」と「どれだけ安定して動作し続けるか(信頼性)」は重要な指標です。基本情報技術者試験では,これらを数値で評価する問題が多く出題されます。用語や計算方法をしっかり整理できていますか?
- 性能評価と信頼性=スループット・応答時間・稼働率でシステムを定量的に評価する
初学者の方や,基礎を体系的に復習したい方に向けたまとめページです。
後半には練習問題も用意しています。指標の意味と計算方法を押さえながら理解を確認していきましょう。
システムの評価の全体像
コンピューターシステムの優劣は,性能,信頼性,経済性(コストパフォーマンス)で評価します。
システムの性能評価
システムの性能評価指標
スループットとは
スループットとは,システムが単位時間当たりに処理できる件数や,通信回線が単位時間当たりに伝送できる実効伝送量のことをいいます。スループットを上げるためには,ハードウェアの処理能力を高くすればよいのですが,それ以外にも,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 |
| … | … | … | … | … | … |
モニタリングとは
モニタリングとは,実際に稼働しているシステムを測定し,評価することをいいます。
ソフトウェアモニタリングとは
ソフトウェアモニタリングでは,測定用のプログラムを実行させてシステムの性能などに関するデータを取得します。
※ 測定用のプログラムを実行させますので測定値に影響が出る
ハードウェアモニタリングとは
ハードウェアモニタリングの場合は,測定用のハードウェアを接続してシステムの性能などに関するデータを取得します。
※ 測定用のハードウェアを接続した場合は,測定値への影響を抑えることができる
練習問題
問1 システムの性能評価指標について,次の①~③に当てはまる語句を答えよ。
① コンピューターにジョブの投入(処理の依頼)を行ってから,結果が完全に得られるまで(出力されるまで)の時間のことを何という?
② 利用者によるデータの入力が終わってから,結果の出力を開始するまでの時間のことを何という?
③ システムが単位時間当たりに処理できる件数や,通信回線が単位時間当たりに伝送できる実効伝送量のことを何という?
④ 1秒間に処理可能なトランザクション数を何という?
① ターンアラウンドタイム
② レスポンスタイム(応答時間)
③ スループット
④ TPS
問2 次の①,②に答えよ。
① レスポンスタイム(応答時間)に含まれる時間はどれか?
② ターンアラウンドタイムに含まれる時間はどれか?
① CPU時間+処理待ち時間(+オーバーヘッド時間)
② 入力時間+CPU時間+処理待ち時間+出力時間(+オーバーヘッド時間)
問3 あるジョブの処理において,以下の時間がかかった。次の①,②に答えよ。
- 入力時間:2秒
- CPU時間:5秒
- 処理待ち時間:3秒
- 出力時間:2秒
- オーバーヘッド時間:1秒
① レスポンスタイム(応答時間)は何秒か?
② ターンアラウンドタイムは何秒か?
① 5+3+1=9秒
② 2+5+3+2+1=13秒
問4 1トランザクション当たり,CPU時間を2ミリ秒使用するWebサーバーがある。CPU使用率が80%のとき,1秒間に処理可能なトランザクション数(TPS)は?
1 ÷ 0.002 × 0.8 = 400(TPS)
問5 システムの性能評価方法について,次の①,②に当てはまる語句を答えよ。
① テスト用のプログラムを実行することでシステムの性能を評価する方法を何という?
② 実際に稼働しているシステムを測定し,評価することを何という?
① ベンチマークテスト
② モニタリング
広告
キャパシティプランニングとは
キャパシティプランニングとは,現在だけでなく将来予測される水準にも対応できるように,システム構成を計画することをいいます。
キャパシティプランニング実施の流れ
① 現行システムの測定を行い処理能力を把握する
② 将来予測される端末や利用者の増加数などを予測する
③ ②の見積もりから,システムの限界時期を予測する
④ サーバーの台数やCPUの性能,ストレージの容量などを見積もる
⑤ 作成した案の評価,見直しを行う
スケールアップとスケールアウトとは
スケールアップとは,サーバーのハードウェアを高性能なものにする(個々のサーバーの性能を高める)方法をいいます。
スケールアウトとは,サーバーの台数を増やして性能を高める方法をいいます。
スケールアップの例
- 高性能なCPUを搭載する
- 大容量メモリを搭載する
※ 並列分散処理が困難なシステムに適している
スケールアウトの例
- Webサーバーの台数を増やす
※ 分散処理が可能なシステムに適している
※ 障害発生時には,障害箇所を切り離すことにより稼働を継続できる(フォールバック(縮退運転))
練習問題
問 次の①,②に当てはまる語句を答えよ。
① サーバーのCPUやメモリを高性能なものに変更して処理能力を向上させる方法を何という?
② 複数のサーバーを追加して処理を分散させ,全体の性能を向上させる方法を何という?
① スケールアップ
② スケールアウト
広告
システムの信頼性とは(指標と計算)
システムの信頼性とは,故障や誤動作をすることなく安定して機能する性質をいいます。
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になります。
直列と並列が混在するシステムの稼働率の計算方法
たとえば,上図のように直列と並列が混在するシステムの場合,全体の稼働率は次のように求めます。
練習問題
問1 次の①~③の説明に当てはまる,バスタブ曲線の期間の名称を答えよ。
① 故障率がほぼ一定で推移する期間を何という?
② 使用開始直後に故障率が高く,時間の経過とともに低下していく期間を何という?
③ 経年劣化により故障率が増加していく期間を何という?
① 偶発故障期間
② 初期故障期間
③ 摩耗故障期間
問2 あるシステムの稼働時間の合計が180時間で,停止時間の合計が20時間の場合の稼働率はいくらか。
稼働率 = 180180 + 20 = 0.9(90%)
問3 あるシステムで,稼働時間の合計が1000時間,故障回数が5回,故障時間の合計が50時間であった。次の①~③に答えよ。
① MTBFは?
② MTTRは?
③ 稼働率は?
① 1000 ÷ 5 = 200時間
② 50 ÷ 5 = 10時間
③ 200 ÷(200 + 10)= 0.95(95%)
問4 2台の装置(稼働率0.95,0.9)を直列に接続した場合の全体の稼働率はいくらか。
0.95 × 0.9 = 0.855(85.5%)
問5 2台の装置(稼働率0.95,0.9)を並列に接続した場合の全体の稼働率はいくらか。
1 - (1 - 0.95)(1 - 0.9) = 0.995(99.5%)
問6 あるシステムは,次のように構成されている場合,全体の稼働率を求めよ。
- 装置A(稼働率0.9)と装置B(稼働率0.8)が並列接続
- その結果と装置C(稼働率0.95)が直列接続
装置Aと装置Bが並列接続している部分の稼働率を求めると,
1 - (1 - 0.9)(1 - 0.8) = 0.98
となる。よって,装置Cも加えた全体の稼働率は,
0.98 × 0.95 = 0.931
となる。
まとめ
今回は,システムの性能評価と信頼性について,「性能指標」,「評価方法」,「信頼性指標」という観点からシンプルにまとめてみました。スループットやレスポンスタイム,TPSといった性能指標は,システムの処理能力を把握するための基本となり,RASISやMTBF・MTTR,稼働率は,システムの安定性や継続性を評価するための重要な指標です。特に,稼働率の計算やTPSの算出,直列・並列システムの稼働率の求め方は,試験で繰り返し出題される重要ポイントです。単に式を覚えるのではなく,「なぜその式になるのか」,「どのような意味を持つのか」を意識して理解しておきましょう。また,キャパシティプランニングやスケールアップ/スケールアウトといった考え方も,実際のシステム設計と密接に関わる重要なテーマです。性能と信頼性はトレードオフになる場合もあるため,全体のバランスを意識することが大切です。
理解が進んだら,基本情報技術者試験の過去問題にもチャレンジしてみてください。
性能評価は,CPUやメモリのしくみとセットで理解するのが重要です。
※ このページでは読みやすさを考慮し「コンピューター」,「サーバー」など長音付きで表記していますが,試験では「コンピュータ」,「サーバ」と表記されます


