1 システムの性能指標
システムの性能評価には以下のものがある。
●レスポンスタイム(応答時間)
オンライン処理で、入力装置から入力が完了して出力装置へ出力が開始されるまでの時間。
●スループット(処理能力)
単位時間内に処理できる仕事量。パッチ処理ではジョブ数、オンライン処理ではトランザクション数。
●ターンアラウンドタイム
バッチ処理でジョブを投入してからすべての処理結果を受取るまでの時間。
※ 処理待ちの時間とは、ジョブの処理要求が行われてから、システムの資源(CPUや入出力装置)が空くのを待っている時間。
この時間は、処理要求があってから結果の出力が完了するターンアラウンドタイムから、CPUが処理を行っている時間と、入出力装置への入出力時間を引いたもの
処理待ち時間 = ターンアラウンドタイム - CPU 時間 - 入出力時間
●命令ミックス
命令の種類により、必要とするクロック数が異なる場合がある。そのため、処理装置(CPU)の性能を評価するために基準となる命令の平均命令実行時間で表す場合、この基準となる複数の命令を命令ミックスと言う。以下の2種類がある。
【ベンチマークテスト】
標準的なプログラムの実行時間を測定して、ハードウェア、OSを含めた総合的なコンピュータの性能を比較・評価すること。
また、ハードウェアやソフトウェアの単体の性能を評価するためのプログラム。
TPC(Transaction Processing Performance Council)
コンピュータ関連企業などが集まり、トランザクション処理(処理の整合性を保つために1つのまとまりで行う処理)の性能を評価するベンチマーク手法を策定するために設立された非営利団体です。
TPCベンチマークは、CPU性能だけでなく、ハード・ディスク装置、OS、データベース管理システムなどを含めたシステム全体の性能を評価できることが特徴である。
TPCベンチマークの結果は、性能値と価格対性能比で表す。現在、TPC-A、TPC-B、TPC-C、TPC-Dの4種の仕様が定まっている。
SPEC(Standard Performance Evaluation Corporation)
コンピュータの実行速度を計測・公表する非営利団体で、ベンチマークプログラムの開発を行っている。特に、プロセサの性能比較としての整数演算の能力を測定するSPECintや浮動小数点演算の能力を測定するSPECfpは、 CPUの能力を計測する手法として広く知られている。
Dhrystone
コンピュータの整数演算性能を計測するベンチマーク・テストの一種。実際のプログラムで出現する命令の種類が統計上の割合と位置するように合成したプログラムを動作させる。整数演算や文字列演算向けのベンチマーク
Whetstone
浮動小数点演算性能を主に計測するベンチマーク。Dhrystonesと同じく、実際のプログラムで出現する命令の種類が統計上の割合と位置するように合成したプログラムを動作させる。
定義した命令群を1秒間で何回実行したかという値「WIPS」によって実行速度を評価する。仮想的なWhetstoneマシンをベンチマークの基準として利用し評価する。
Livermore Fortran Kernel
マイクロプロセサの浮動小数点演算の処理性能を測定することによってスーパーコンピュータのベンチマークを構成している。当時、多くのコンピュータで浮動小数点演算のエラーが頻繁に発生していたため、マイクロプロセサの演算性能と、システムの計算精度の両方をテストすることを目的として構築された。
Linpack
コンピュータ上で線形代数学の数値演算を行うソフトウェアライブラリに基づいたベンチマークプログラムである。理学・工学で一般的な線型方程式系(大きさは自由)[1]をガウスの消去法で解く速度を測定し、システムの浮動小数点演算性能を評価する。
【 モニタリング 】
プログラムの実行状況や資源の利用状況を測定し、システムの構成や応答性能を改善するためのデータを得ることまたはそのためのツール。
ソフトウェアの性能に関するソフトウェアモニターと、ハードウェアに関するハードウェアモニターなどがある。
コンピュータシステムの性能評価を行う際に、ソフトウェアの性能に関する評価を行うツール。既に運用されているシステムでは、ソフトウェアモニターによる情報や統計データ、課金データなどを収集し、分析することによって、性能上の問題点を把握できる。
コンピュータシステムの性能評価を行う際に、ハードウェアの性能に関する評価を行うツール。
【 目的と概要 】
計画・開発中あるいは稼働中のITシステムに求められるサービス需要/サービスレベルからシステムリソースの処理能力や数量などを見積もり、最適なシステム構成を計画すること。
検討対象となるキャパシティ要件としては、ビジネスレベル(データ処理需要、同時利用ユーザー数など)、サービスレベル(処理トランザクション量、ネットワークトラフィック量など)、リソースレベル(CPU利用率、ディスク利用率、ネットワーク利用率など)がある。
ビジネスレベルのサービス需要がリソースレベルでどのように配分されるかは、システムのアーキテクチャと密接に関係するため、システム増強においては単純なリソースの追加や性能向上だけではなく、システム構成の見直しなども含めた検討を行うことが推奨される。
最適な機種の選定と設備の決定
・ユーザーの要求水準と必要な性能を持つ機種の選定
・使用頻度、使用時間、データ量を考慮したシステムの容量と台数の決定
経済性と拡張性への配慮
・将来のデータ増加量を考慮(拡張性)した機能の選択
・資源の共有を考慮し、経済性を考えたシステム構築
利用者へのサービスの向上
・ヒューマンインターフェースの検討
・待ち時間を作らないシステム性能の検討
【 キャパシティ・プランニングの手順 】
キャパシティ・プランニングの基本的な作業手順は以下のようになる。
【 スケールアウト 】
スケールアウトは、システムに接続されたサーバーの台数を増やすことで性能を上げる方法です。
水平スケール(水平スケーラビリティ)と呼ばれることもある。
スケールアップより構築コストが安く済む。分散処理を行っているシステムで有効な方法。
個々の処理は比較的単純であるが、多数の処理を同時並行的に行える処理で、データの更新は少なく、読み取りが多くを占める処理に適している。
Webサーバー、サーチエンジン、データ分析処理、VoD(ビデオオンデマンド)、一部の科学技術計算等も、基本的にデータの読み取り処理がほとんどなので、スケールアウトによる処理能力の向上が実現しやすい。
また、スケールアウトは、可用性の増大というメリットも得られる。1台のサーバが障害を起こしても、他のサーバで処理を継続できるシステムが構築できる。
サーバの仮想化機能を使って、ひとつの筐体内で仮想的に複数サーバを構築し、スケールアウトと同等の効果を提供することもできる。このような方式を特にスケールウィズインまたは仮想スケールアウトなどと呼ぶこともある。
【 スケールアップ 】
スケールアップは、サーバーのCPUやメモリといったハードウエアを高性能なものにして処理性能を上げる方法
垂直スケール(垂直スケーラビリティ)と呼ばれることもある。
スケールアップは、OLTP(オンライントランザクション処理)などを行うデータベースサーバーに適している。
【 プロビジョニング 】
設備やサービスに対して新たな利用申請や需要が発生した場合に、必要となる資源一式の割り当て直すこと
【 シン プロビジョニング 】(Thin Provisioning)
ストレージの容量を必要な分だけサーバーに割り当てる技術です。
シンプロビジョニングでは、サーバーが要求する容量のうち、実際に利用される容量のみを割り当てます。
例えば仮想サーバー用に100GBで作成した仮想ディスクが実際には20GBしか使用していない場合、ストレージ上は20GBしか割り当てませんが、仮想OS上では100GBのディスクとして認識されます。
これにより、サーバーが要求するストレージの容量を満たしつつ、ストレージの利用効率を上昇させることが可能になります。
注意点として、サーバー側で利用するストレージ容量が増加した場合、実際に割り当てている容量もあわせて増やす必要があります。 サーバー側が必要とする容量が増加し、実際に割り当てているストレージ容量を超えてしまった場合、ストレージへの書き込みができず、サーバーやアプリケーション側でエラーが発生することがあります。最悪の場合、アプリケーションやプログラムが破損してしまう可能性があります。
サーバー管理者は、サーバーが必要とするストレージを常に把握し、サーバー上で稼働するアプリケーションが正常に動作できるようにする必要があります。
www.it-shikaku.jp