Develop and Download Open Source Software

OpenSource Downloads

7-Zip  (4,208)  
HandBrake Japanese Language Version  (3,353)  
CrystalDiskInfo  (1,743)  
CotEditor  (1,120)  
CrystalDiskMark  (866)  
Boookends  (788)  
SMPlayer  (642)  
えこでこツール  (599)  
Tera Term  (595)  
10  FFFTP  (579)  
11  Cabos  (530)  
12  BathyScaphe  (494)  
13  ffdshow  (481)  
14  MergeDoc  (464)  
15  ギコナビ  (438)  
More >>

最近ブックマークされた記事

fioを用いたディスクIOのパフォーマンス測定

2008年05月22日 12:05 Ben-Martin(2008年4月9日(水)) 1 2 3 4 5
 コンピュータを構成する主要コンポーネントの中でも、ストレージ系のパフォーマンスは他に比べてかなり劣るものとなっており、例えばハードディスクは容量的には順調に拡大し続けているものの、そのアクセス速度の発展ペースはRAMやCPUの速度向上に追いつけなくなっている。こうしたハードドライブの性能的限界がシステムパフォーマンスのボトルネックとなっている可能性を考えた場合、各自の所有するディスクやファイルシステムが発揮可能な速度および、ディスクのサブシステムに対してユーザが行える設定変更の影響を数値的に把握しておくことは重要な意味を帯びているはずである。またディスクのアクセス速度を向上させる手法の1つとしては、RAID-5のように複数のディスクを組み合わせて運用することが考えられる。

 Linuxの場合、物理ディスクに対するアクセス速度の基本的な情報であれば、hdparmツールに-Tおよび-tオプションを付けて実行することで取得できる。このうち-Tオプションは、Linuxのディスクキャッシュを利用することで高速アクセス可能なディスクからどれだけの情報量をシステムが読み込めるかの概要を得る際に使用する。同様に-tオプションもキャッシュを介したディスクからの読み込みを測定させるものだが、こちらは事前キャッシュを行わない場合の結果が得られる。つまり-tオプションを指定することで、ディスク上にシーケンシャル(連続的)に格納された情報に対する読み出し速度についての指標が得られるのである。

 しかしながらこのhdparmツールによって得られる情報は、実際のパフォーマンスに則した最適な指標という訳ではない。これはかなりの低レベルで動作するツールであるため、ディスクパーティションの1つに置かれたファイルシステムに関しては大幅に異なる結果を示す場合があるのだ。またシーケンシャルアクセスとランダムアクセスとでも得られる結果は大きく異なってくる。その他の要望としては、RAID化したディスク群の上に置かれたファイルシステムに対するベンチマークも測定したいところである。

 特定のディスクIOにおける作業負荷のベンチマーク用に作られたものとしては、本稿で解説する fio というツールが存在する。このツールが実施するのは、多数存在する同期/非同期IO APIの1つを用いたIOリクエストの送信をするという処理だが、単一のAPI呼び出しに付随して複数のIOリクエストを行うタイプのAPIを使用させることもできる。fioの使用するファイルのサイズについてはユーザによる調整が可能で、こうしたファイルIOのオフセットおよびIOリクエスト送信間の遅延の大きさ、あるいは個々のIOリクエスト間にファイルシステムの同期呼び出しを行うかなども指定できるようになっている。例えば同期呼び出しを実行させた場合、メモリ上のキャッシュ情報をディスク側に書き込み直す処理をオペレーティングシステムが行う関係上、かなりの量の遅延がもたらされるはずである。つまりfioには、こうしたIOパターンを詳細に指定するためのオプション群が用意されており、各自のディスクサブシステムがこれらのタスクを完了させるまでの所要時間を取得できるようになっているのだ。

 fioの入手法に関しては、Fedora 8用の標準リポジトリにてパッケージ化されており、openSUSEの場合はopenSUSE Build Serviceから取得できる。ただしDebianベースのディストリビューションを使用している場合は、「make; sudo make install」を用いてソースコードからコンパイルしなければならない。

最終更新:2008年07月22日 17:07