ICTシステムに対するトランザクションの発生は、統計確率でいうランダム到着である。この特性を理解していないと業務特性に応じた性能や並列性を設計することが難しい。

 性能基礎値や単体性能、システム性能、オンライン処理とバッチ処理の考え方の違いを、アーキテクトとしての基本知識として整理してみよう。

単体性能を見極める

 単体性能とは1トランザクションの処理時間とそれに要するシステム資源(CPUやディスクアクセス)の量を指す。オンラインの単体処理時間は一般的に、取引画面を構成する入出力項目(表示する画像も含む)の伝送時間とデータベースアクセス時間、それに付随するアプリケーション処理時間の合計時間を指す。

 データベースアクセス時間は、8Kバイトなどの物理ブロック長を単位としたディスクのアクセス時間が基本である。アクセスの仕方は全レコードを読む「シーケンシャル」と、必要なレコードのみを読む「ランダム」がある。シーケンシャルはディスク回転速度と記録密度と最小シーク(ヘッドの移動)時間から概算値を求められる。

 一方、ランダムはディスクが半回転する時間と平均シーク時間が概算値の多くを占める。これはランダムではディスク上のどこにレコードが存在するかわからないため、物理的にヘッドがレコード位置に移動するまでの時間が実際のデータ転送時間より圧倒的に長いからだ。

 加えて、データを格納する媒体に応じたアクセス時間の基礎値を押さえておくことが肝心だ。例えばRAIDディスク(ストレージ装置やアレイコントローラ配下)の場合、書き込み作業はコントローラのキャッシュにデータを転送したタイミングで疑似的にアクセスが完了する場合が多く、物理的な位置決め時間は含まれない。SSDディスクはそもそも物理的な位置決めを伴わない。