コンテンツにスキップ

システムの性能

コンピュータやシステムを導入するとき、「どれくらい速いか」「どれだけの量を処理できるか」は非常に重要な判断材料になります。ここでは、システムの性能(パフォーマンス)を測るための代表的な指標と、性能を向上させる方法について学びます。

レスポンスタイム(応答時間)とターンアラウンドタイム

Section titled “レスポンスタイム(応答時間)とターンアラウンドタイム”

システムの「速さ」を表す指標にはいくつかの種類があり、それぞれ測定する範囲が異なります。混同しやすいため、違いを正確に押さえましょう。

レスポンスタイム(応答時間)とは、利用者がシステムに処理を要求してから、最初の応答が返り始めるまでの時間です。たとえば、Webサイトで検索ボタンを押してから、画面に結果が表示され始めるまでの時間がレスポンスタイムにあたります。

ターンアラウンドタイムとは、利用者がシステムに処理を依頼してから、すべての結果を受け取り終わるまでの時間です。レスポンスタイムが「最初の応答まで」であるのに対し、ターンアラウンドタイムは「すべての処理が完了するまで」を含む、より広い範囲の時間です。

指標測定範囲イメージ
レスポンスタイム要求の送信 → 最初の応答が届くまで検索ボタンを押して結果が表示され始めるまで
ターンアラウンドタイム要求の送信 → すべての結果を受け取るまで検索ボタンを押して全件表示が完了するまで

試験で出るポイント

応答時間の構成要素は「送信時間+処理時間+受信時間」です。利用者がデータを入力する時間(入力時間)は含まれません。「入力時間を含む」という選択肢はひっかけです。

スループットとは、単位時間あたりにシステムが処理できる仕事量のことです。たとえば「1秒間に100件のリクエストを処理できる」「1時間に1,000件の注文を処理できる」といった形で表されます。

レスポンスタイムが「1件の処理にかかる速さ」を表すのに対し、スループットは「全体としてどれだけ多くの仕事をさばけるか」を表す指標です。サーバーを選定する際には、1件あたりの応答速度だけでなく、同時に多くの処理をこなせるかどうか(スループットの大きさ)も重要になります。

コンピュータの処理速度を表す指標として、ハードウェアの性能に注目した指標も押さえておきましょう。

クロック周波数とは、CPU(プロセッサ)が動作するテンポの速さを示す値で、単位はHz(ヘルツ)です。CPUは内部のクロック信号に合わせて命令を実行しており、クロック周波数が高いほど1秒間に多くの命令を実行できます。現在のパソコン用CPUでは、数GHz(ギガヘルツ=10億Hz)が一般的です。

MIPS(Million Instructions Per Second)とは、CPUが1秒間に実行できる命令の数を百万単位で表した指標です。たとえば「1,000MIPS」のCPUは、1秒間に10億回の命令を実行できることを意味します。MIPSの値が大きいほど、CPUの処理能力が高いといえます。

指標意味単位
クロック周波数CPUの動作テンポHz(通常GHz)
MIPS1秒あたりの命令実行数(百万単位)MIPS

実際のシステム性能は、CPUのクロック周波数だけでは測れません。メモリやストレージの速度、ソフトウェアの効率なども影響するためです。そこで使われるのがベンチマークです。

ベンチマークとは、標準的なプログラム(ベンチマークソフト)を実行して、システム全体の性能を測定・比較する手法です。同じテストプログラムを異なるコンピュータで実行し、処理にかかった時間やスコアを比較することで、どちらのシステムが高性能かを客観的に判断できます。

ベンチマークの結果は、システムの購入や更新の際に、コストパフォーマンスを検討するための重要な判断材料になります。

スケールアップとスケールアウト

Section titled “スケールアップとスケールアウト”

システムの利用者が増えたり、処理量が増大したりすると、性能が不足することがあります。このとき、性能を向上させるアプローチには大きく2つの方法があります。

スケールアップとは、既存のサーバーをより高性能なものに置き換える方法です。たとえば、CPUをより速いものに交換したり、メモリを増設したりすることで、1台のサーバーの処理能力を引き上げます。

スケールアウトとは、サーバーの台数を増やすことで、システム全体の処理能力を向上させる方法です。1台では処理しきれない負荷を、複数台に分散して対応します。

方法内容メリットデメリット
スケールアップサーバーを高性能なものに交換構成がシンプル、管理しやすい1台の性能には上限がある
スケールアウトサーバーの台数を増やす柔軟に拡張できる台数管理やデータ同期が複雑になる

試験で出るポイント

スケールアウトとスケールアップの違いは頻出です。「台数を増やす=スケールアウト」「1台の性能を上げる=スケールアップ」と覚えましょう。「アウト=外に広げる=台数増」とイメージするとわかりやすいです。

負荷分散(ロードバランサー)

Section titled “負荷分散(ロードバランサー)”

スケールアウトで複数台のサーバーを使う場合、各サーバーに処理を均等に振り分ける仕組みが必要です。この役割を担うのが負荷分散(ロードバランシング)であり、それを実現する装置やソフトウェアをロードバランサーと呼びます。

ロードバランサーは、利用者からのリクエストを受け取り、複数のサーバーに適切に振り分けます。これにより、特定のサーバーに負荷が集中することを防ぎ、システム全体のレスポンスタイムを安定させられます。また、1台のサーバーが故障しても残りのサーバーで処理を継続できるため、システムの信頼性向上にも貢献します。

試験で出るポイント

「複数のサーバーに処理を分散させることで、性能と可用性を向上させる仕組み」を問われたら、負荷分散(ロードバランサー)を選びましょう。

アプリで問題を解こう!