システムの性能・信頼性評価
経営情報システム 第31回
「開始時刻ぴったりに購入ボタンをクリックしたのに、画面がフリーズして、2秒後に出たのは売り切れの文字。サポートに電話すると、システムは遅くも壊れてもいないと言われる」。動画はこんなオンラインセールの場面から始まります。このページでは動画の流れにそって、性能評価の3指標、スケールアウトとスケールアップ、RASIS、MTBF・MTTR・稼働率、信頼性を高める設計の考え方をまとめました。まず動画を聞いて、あとからここで復習するのがおすすめです。
速いはずなのに買えない? 提供側とユーザー側のずれ
人気の限定商品のオンラインセール。開始時刻ぴったりに購入ボタンを押したら、画面がフリーズしてローディングのアイコンが回り続け、2秒後に出たのは「売り切れ」の文字でした。腹が立ってカスタマーサポートに電話すると、「当社のシステムは1秒間に大量の処理をこなしており、遅くも壊れてもいません」と言われます。動画はこの場面から始まります。
ユーザーは「現に買えなかったじゃないか」と言いたくなり、提供側は「性能は十分だ」と答える。この認識のずれこそが、ITシステムを評価するうえで最も厄介な落とし穴だ、と動画は言います。そこで今回は、システムの性能評価と信頼性評価の最重要ポイントを、耳から効率よく学べるように整理していきます。
- 性能評価:レスポンスタイム、ターンアラウンドタイム、スループットの3指標と、性能を上げるスケールアウト・スケールアップ。
- 信頼性評価:RASIS、MTBF・MTTR・稼働率、フォールトアボイダンス・マスキング・トレランス、フェイルセーフ・フェイルソフト、フールプルーフ。
性能評価の3つの指標
「このシステムは速いですか」と聞くだけでは不十分で、誰にとってのどんな速さか、そして処理効率はどうかを明確にする3つの指標がある、というのが動画の出発点です。
| 指標 | 動画の説明 | たとえ |
|---|---|---|
| レスポンス | 処理の要求を送ってから、データの出力が始まるまでの時間 | 注文してから、最初のお水が出てくるまで |
| ターン | 処理の開始を指示してから、データの出力が終わるまでの時間(TAT) | 注文から、デザートを食べ終えて店を出るまで |
| スルー | 単位時間あたりに処理される仕事の量(処理効率) | 1時間に店全体で何人の客をさばけるか |
冒頭の例では、ボタンを押してからローディングが出始めるまでがレスポンスタイム、結果の画面が出そろうまでがターンアラウンドタイム、サポートが胸を張った「1秒間の処理量」がスループットです。スループットが高くても、待たされる時間が長ければ「買えない」は起こりえます。
レスポンスタイムは、注文して最初のお水が出てくるまでの時間、みたいな感じでしょうか。
なるほど、とりあえずお店の反応があった、ということですね。
ターンアラウンドタイムは、注文からデザートを食べ終えて店を出るまでのトータルの時間です。
自分にとってトータルでどれくらいかかったかがターンアラウンドタイム、ということですね。分かりやすいです。
スループットは、動画ではコンピューターの処理効率を表す指標として説明されます。ネットワークの性能で使う場合は、単位時間あたりのデータ伝送量を表します。
(補足:自作の設例です。要求の2秒後に結果の表示が始まり、10秒後に終わるシステムなら、レスポンスタイムは2秒、ターンアラウンドタイムは10秒。このシステムが60秒間に600件をさばけば、スループットは毎秒10件です。毎秒10件さばける高性能でも、客1人は結果が出そろうまで10秒待ちます。)
(補足:IPAの試験シラバス(基本情報Ver.9.2・応用情報Ver.7.2)は、この3つを用語例として挙げています。定義文までは一次資料で確認できなかったので、定義は動画の説明に従っています。)
性能を上げる2つの方法:スケールアウトとスケールアップ
性能を向上させる方法は、大きく2つあると動画は言います。スケールアウトはサーバーの量、つまり台数を増やして性能向上を図る方法です。スケールアップは1台あたりのサーバーの質、つまり性能を向上させて性能向上を図る方法です。言葉は似ていますが、増やす対象が違います。
荷物を運ぶとき、トラックの台数を増やすのがスケールアウトというイメージですね。
そうですね。一方でスケールアップは、1台あたりのサーバーの質を上げる方法です。
軽トラを大型トラックに買い換えるのがスケールアップ、ということですね。
はい。その例えの通りです。目的に合わせて使い分けることが重要です。
(補足:自作の例です。1台で毎秒100件のサーバーを3台にすれば理想で毎秒300件、1台を2倍の性能にすれば毎秒200件。ただし現実は理想どおりにいかず、ウィキペディアは、並列化できる部分が70%の処理でCPUを1個から4個にしても約2.1倍にとどまる例を挙げ、両方を組み合わせることもあると説明しています。)
信頼性評価の入口:RASIS
性能がいくら高くても、頻繁に止まっては困ります。動画は「いくら速くても使えなければ意味がない」と話を切り替え、ここから信頼性評価に入ります。システムの信頼性を評価する観点が、信頼性・可用性・保守性・完全性・安全性の5つで、頭文字をとってRASIS(ラシス)と呼ばれます。
動画が強調するのは、完全性と安全性には定量的に表す特定の指標がない、という点です。聞き手が「完全性は正確性や一貫性、安全性はセキュリティの強さですよね」と確認し、講師が「そうです」と応じます。数値の指標があるのは、信頼性・可用性・保守性の3つです。
(補足:IPAのシラバスもRASISを信頼性・可用性・保守性・完全性・安全性とし、「その指標を理解する」と書きます。「完全性・安全性に特定の指標はない」という動画の説明は、一次資料で直接確認できませんでした。資料によって扱いが違う可能性があります。ウィキペディアはSecurityに「機密性」の語をあて、serviceabilityはJIS X 0014では「運用性」と訳されると注記しており、訳語には揺れがあります。)
MTBF・MTTR・稼働率:数字で表せる3つの観点
まず信頼性は、MTBF(平均故障間隔)で表します。故障したシステムが修理されてから、次に故障するまでの期間の平均です。MTBFが長いほど、そのシステムは故障しにくいと言えます。
次に保守性は、MTTRで表します。故障したシステムを運転可能な状態に修復するためにかかる期間の平均で、短いほど、故障してもすぐに直せることを意味します。
動画のたとえ(聞き手)
MTBFは「健康で元気な時間」、MTTRは「病気で寝込んでいる時間」。この2つのバランスで、どれくらい起きて働けるかが決まります。
この2つから計算できるのが可用性です。必要なときに必要なシステムが使えるかを表す稼働率という指標で、MTBFを、MTBFとMTTRの合計で割って求めます。全体の時間のうち、元気に動いている時間の割合を出すわけです。
(補足:自作の設例です。MTBF450時間・MTTR50時間なら稼働率は450÷500=0.9。MTTRを半分の25時間にしても、MTBFを2倍の900時間にしても、稼働率は約94.7%で同じです。)
(補足:JIS Z 8115:2019で確認すると、MTBFは故障間動作時間の期待値(修理して使うアイテム向け)、MTTR(平均修復時間)は修復時間の期待値で、JISは「mean time to repair」を対応英語として使えないとしています。アベイラビリティには「可用性」「可動率」「稼働率」も用いられる、という注記もあります。動画のMTBFの説明は、JIS Z 8141:2001(旧版で確認)の定義と同じ意味です。稼働率の式は、JISの本文テキストでは確認できず(式が画像のため)、解説に拠っています。生産管理でいう稼働率(実際稼働時間÷総時間)は別の指標です。)
(補足:動画にない計算です。稼働率0.9の機器2台を、どちらかが止まると全体が止まる直列にすると0.9×0.9=0.81、どちらか1台が動けばよい並列にすると1−0.1×0.1=0.99です(故障は独立、切り替えは一瞬と仮定した自作の設例)。IPAのシラバスにも、この計算が項目に挙がっています。)
信頼性を高める設計:事前の対策と、起きたあとのカバー
ここからは、信頼性を実際に向上させる対策や設計です。動画はまず、障害を防ぐ、あるいは被害を極小化するアプローチとして3つの考え方を紹介します。
| 用語 | 動画の説明と例 |
|---|---|
| フォールト | 事前対策により障害を回避する。例:部品1つ1つの信頼性を高め、故障や障害が起きないようにする |
| フォールト | 障害時に、障害の影響を他に与えない。例:機器を冗長化し、障害時も他の機器は影響を受けず動作を継続する |
| フォールト | 一部の機能に障害が発生しても、機能を継続させる設計。例:電源やネットワーク経路を多重化し、一方が遮断されても止まらないようにする |
フォルトアボイダンスは、絶対に風邪を引かない体づくりみたいなことですね。
まさにそれです。でも、絶対に壊れないシステムなんてありませんよね。
アボイダンスが風邪を引かない体づくりなら、トレランスやマスキングは、もし右手をけがしても左手で完全にカバーして仕事を続ける仕組み、ですよね。
そうですね。事前に回避するのと、発生したときにカバーするのとの違いが際立ちます。
(補足:動画のマスキングとトレランスは、説明も例もよく似ています。JIS Z 8115:2019は、フォールト排除(フォールトアボイダンス)、フォールトマスキング、フォールトトレランス、フェールセーフ、フェールソフトを別々の用語として載せています。ただし、フォールトトレランスなどの定義文は、今回の確認では取得できませんでした。)
止めるか、動かし続けるか:フェイルセーフとフェイルソフト
では、どうしてもシステムが正常に動き続けられなくなったときはどうするのか。ここで出てくるのが、次の2つの考え方です。
- フェイルセーフ:故障や障害が発生したとき、安全を優先して安全な状態に移行させる設計。例は、踏切の遮断機が故障したとき、自重で下りた状態を保ち、列車の安全を確保すること。
- フェイルソフト:故障や障害が発生したとき、稼働継続を優先し、機能を縮小してでも継続させる設計。例は、故障した箇所だけを切り離し、他は稼働を続けること。
フェイルセーフは、あえて止める決断をするわけですね。
そういうことです。一方、フェイルソフトは機能を縮小してでも稼働を続けます。
こちらは、何とか動かし続けるんですね。
はい。故障した箇所だけを切り離し、他は動かし続けるといった設計です。
動画は、そのシステムが担う役割によって、設計の考え方が分かれると整理します。人の命に関わるのか、業務を絶対に止められないのか。目的によってアプローチが変わる、というわけです。
(補足:JIS Z 8115:2019で確認すると、フェールセーフは「故障時に、安全を保つことができるシステムの性質」、フェールソフトは「故障状態又は故障が差し迫る場合に、影響を受ける機能を優先順位を付けて徐々に終了できる性質」です。JISの表記は「フェールセーフ」で、動画のように「フェイルセーフ」と書く教材も多くあります。動画の「あえて止める」は安全を保つ一つの方法で、JISの定義は「止める」とは書いていません。踏切の例はウィキペディアも挙げています。)
人のミスへの備え:フールプルーフ
最後にもう1つ、人間のミスへの備えがあります。フールプルーフは、間違った操作をしても、システムに影響しないような設計のことです。動画の例は電子レンジで、ドアが完全に閉まっていないと加熱がスタートしないようになっています。聞き手は「人間がミスをしても大丈夫なように作られているんですね」とまとめます。
(補足:JIS Z 8115:2019のフールプルーフは「人為的に不適切な行為、過失などが起こっても、システムの信頼性及び安全性を保持する性質」です。電子レンジの例は、個別には資料で確認していません。ウィキペディアは全自動洗濯機の蓋が開いたままでは動作しない設計を例に挙げます。)
動画の締めと、最後の問いかけ
動画は、試験に臨むにあたって、似たカタカナ用語のニュアンスの違いを明確に区別することが非常に大切だと締めます。具体例として挙げられているのは、「レスポンスとターンアラウンド」「トレランスとマスキング」です。それぞれの設計思想の目的を理解することが重要だ、と動画は言います。
最後に動画は、1つの問いを残します。フールプルーフやフェイルソフトの仕組みが進化していくと、人間とシステムの関係はどう変わるのか。すべてを自動で監視して修復する完璧な自立システムが実現したとき、私たちは頼りきるべきか、それともいざというときの究極のフェイルセーフとして判断力を磨き続けるべきか。自分の業務や生活に照らして考えてみてほしい、という呼びかけです。
まとめ
このページのまとめ
- 性能評価の3指標:レスポンスタイム(要求から出力開始まで)、ターンアラウンドタイム(出力が終わるまで)、スループット(単位時間あたりの処理量)。
- 性能を上げる方法:スケールアウトは台数を増やす、スケールアップは1台の性能を上げる。目的に合わせて使い分ける。
- RASISは信頼性・可用性・保守性・完全性・安全性。動画は、完全性と安全性には特定の定量指標がないと説明する。
- 信頼性はMTBF、保守性はMTTR、可用性は稼働率(MTBF÷(MTBF+MTTR))で表す。
- 障害への備えは、事前に避けるフォールトアボイダンス、影響を広げないマスキング、機能を続けるトレランス。
- 故障時は、安全を優先するフェイルセーフか、縮小しても動かし続けるフェイルソフトか。人のミスにはフールプルーフ。
動画で聞く
続けて読む
- 第26回 暗号化と無線LANセキュリティ経営情報システム・情報セキュリティ 003
- 第27回 ネットワーク認証とゼロトラスト経営情報システム・情報セキュリティ 004
- 第28回 ネットワーク犯罪の手口と対策経営情報システム・情報セキュリティ 005
- 第29回 ファイアウォール・IDS・SIEMの違いが丸わかり!ネットワーク防御の全貌経営情報システム・情報セキュリティ 006
- 第30回 フル・差分・増分バックアップの復旧時間経営情報システム・情報セキュリティ 007
- 第32回 ガランティ型とベストエフォート型SLAの違いとは?非機能要求を完全解説経営情報システム・情報セキュリティ 009
- 第33回 仮想化と障害対策経営情報システム・情報セキュリティ 010
- 第34回 ソフトウェア開発の工程と手法経営情報システム・システム開発 001
- 第35回 4つの開発モデルとビジネスの生存戦略経営情報システム・システム開発 002
- 第36回 スクラム・XP・DevOpsの違いが5分でわかる!アジャイル開発を徹底図解経営情報システム・システム開発 003
- 経営情報システムのWebテキスト一覧同じ科目の48本を一覧・検索
- 中小企業診断士 1次の講座トップ科目別プレイリスト・人気の講義・ファイナルペーパー

