naritai.app

システムの性能

この章で覚えておきたいこと

システム性能の代表指標を処理量、待ち時間、ネットワーク、ボトルネックの場面で整理した図解

基本知識

性能指標の役割を切り分ける

処理量、待ち時間、処理上限の3観点で性能指標を切り分ける図解

試験では、似た言葉を入れ替えた選択肢がよく出ます。まずは、何を測っている指標かを整理することが重要です。

例として、1 秒当たりの処理件数、1 時間当たりのジョブ完了数、実効データ転送量があります。

画面操作や検索処理のように、利用者が反応の速さを気にする場面で重視します。

夜間バッチや帳票出力のように、最終結果がそろうまで待つ処理で重視します。

最大同時接続数、保存容量、単位時間当たりの最大処理件数などが該当します。

この切り分けを問われたら、まず 量の話か、時間の話か、上限の話か を見ます。これだけで多くの選択肢を絞れます。

スループットとレスポンスタイムは別の指標です

大量処理の場面と利用者の待ち時間の場面を並べて、スループットとレスポンスタイムの違いを示す図解

スループットとレスポンスタイムは、どちらも性能を表しますが、見ている方向が違います。

たとえば、同時に多くの仕事を流せるようにしてスループットが上がっても、個々の利用者が感じる待ち時間まで同じ割合で短くなるとは限りません。逆に、画面応答を速くしても、システム全体の処理件数が大きく増えるとは限りません。

2015 年の過去問では、スループットをレスポンスタイムや部分的な機器性能と混同しないことが問われました。単位時間当たりの処理量 という定義をそのまま押さえることが基本です。

レスポンスタイムとターンアラウンドタイムを混同しない

オンライン応答の開始とバッチ処理の出力完了を対比して、レスポンスタイムとターンアラウンドタイムの違いを示す図解

この 2 つはどちらも時間の指標ですが、終点が違います。

オンライン処理では、利用者はまず反応の速さを気にするため、レスポンスタイムが重要です。一方で、バッチ処理では処理完了まで待つため、ターンアラウンドタイムが重要になります。

2022 年の過去問では、レスポンスタイムを「結果の出力が終了するまでの時間」としている選択肢が誤りでした。この表現はターンアラウンドタイム寄りです。問題文に「画面に応答が返る」「最初の反応がある」と書かれていればレスポンスタイム、「処理終了」「結果出力完了」と書かれていればターンアラウンドタイムを疑います。

キャパシティとボトルネックで全体性能を見る

工場とサーバーの流れの中で、一番遅い箇所が全体性能を制限する様子を示す図解

キャパシティは、システムがどこまで処理できるかという容量の考え方です。ただし、実際の性能は最も弱い部分に引っ張られます。これが ボトルネック です。

ボトルネックになりやすい箇所には、次のようなものがあります。

重要なのは、部分性能と全体性能を分けて考えることです。メモリを増設しても、ネットワーク輻輳が原因なら通信の待ち時間は解消しません。CPU を高速化しても、ディスク I/O が詰まっていれば処理完了時間はあまり改善しません。

試験では、「どこが全体を止めているか」を読ませる形で出ます。速い装置を追加する話が出ても、本当に詰まっている箇所に効いているか を確認する必要があります。

帯域幅とスループットは同じではありません

広い通信路の理論上の容量と実際に流れたデータ量の違いを道路と通信機器で示す図解

ネットワーク性能では、帯域幅とスループットの違いが頻出です。

したがって、帯域幅が大きくても、実際のスループットがその値まで出るとは限りません。スループットが下がる主な理由は次のとおりです。

2023 年第 1 回の過去問では、帯域幅を最大容量、スループットを実際のデータ伝送量として区別できるかが問われました。帯域幅は理論値、スループットは実効値と覚えると整理しやすいです。

レイテンシ、ジッタ、輻輳の意味を押さえる

遅延、ばらつき、混雑をビデオ通話とネットワーク経路の場面で整理した図解

リアルタイム通信では、転送量だけ見ても品質は判断できません。ここで重要なのが、レイテンシ、ジッタ、輻輳です。

この 3 つは次のようにイメージすると区別しやすいです。

過去問では、ping 値をレイテンシと混同させる出し方もあります。ping は遅延を測る代表例ですが、一般的な性能用語として空欄に入るのは レイテンシ です。

構成変更による性能向上を過大評価しない

並列化で処理量が増えても同期や待機があるため、構成変更の効果を単純化できないことを示す図解

構成を変えれば性能は変わりますが、選択肢では効果を言い過ぎる表現に注意が必要です。

まず、マルチプロセッサ化では複数のプロセッサが同時に処理を進められるため、スループット向上が期待できます。ただし、すべての処理が完全に並列化できるわけではありません。同期、排他制御、通信、処理分割の制約があるため、レスポンスタイムまで単純に半分になるとは限りません。

次に、クライアントサーバや分散処理では役割分担ができますが、通信や連携のオーバーヘッドも増えます。そのため、「常にレスポンスタイムが向上する」「常に信頼性が高くなる」といった断定は危険です。

さらに、デュアルシステムは処理を半分ずつ分担して高速化するための方式ではなく、主に障害時に備えて信頼性を高める方式です。2013 年の過去問でも、デュアルシステムに変更しただけでレスポンスタイムがほぼ半減するという記述は誤りでした。

構成変更の問題では、次の順で考えると整理しやすいです。

1. 改善したいのがスループットか、レスポンスタイムか、信頼性かを確認します。 2. その構成変更が本当にその指標に効くのかを確認します。 3. 並列化の限界や通信オーバーヘッドが無視されていないかを確認します。

この章のまとめ

システム性能の判断軸を処理量、時間、上限、ネットワーク品質、構成変更の注意点で総復習する図解

一次試験過去問での出方

2015 年第 11 問では、スループットを単位時間当たりの処理量として正しく捉えられるかが問われました。レスポンスタイムや個別装置の速さと混同しないことが基本です。

2022 年第 21 問では、スループットとレスポンスタイムの定義に加えて、レスポンスタイムとターンアラウンドタイムの境界が問われました。時間指標の終点を読み分ける力が必要です。

2023 年第 1 回第 13 問では、帯域幅、スループット、レイテンシ、ジッタ、輻輳の対応が問われました。ネットワーク性能を理論値、実効値、遅延、ばらつき、混雑で整理しておくことが有効です。