パスワードを忘れた? アカウント作成
690870 journal

elf2000の日記: たくさんのファイルは複数ディレクトリに分けるべきか?

日記 by elf2000

ちょっと試してくれといわれてやった. これってどうなんだろう.
サーバー側はredhat 8.0. apache 2.0.40. Celeron 666MHz/RAM 128MB位のマシン. HDDの型番不明(2年前に買った30GB位の)ファイルシステムはext3で特にチューニングはされてない(インストーラー夜露死苦)
スクリプトはphp 4.3.0(DSO)で書いた. 複数ディレクトリ・複数ファイルをランダムに出力するものと, 単一ディレクトリ・複数ファイルをランダムに出力するもの. 最後はダイレクトに画像を出力.

  • ls等をする時はディレクトリ分散した方が早い
  • 実際のファイルアクセスは(ランダムであればあるほど)同一ディレクトリのほうが早い.

1000files/300directories

Concurrency Level: 1
Time taken for tests: 777.380955 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 47140000 bytes
HTML transferred: 44860000 bytes
Requests per second: 12.86 [#/sec] (mean)
Time per request: 77.738 [ms] (mean)
Time per request: 77.738 [ms] (mean, across all concurrent requests)
Transfer rate: 59.22 [Kbytes/sec] received

=========================================================================

1000files/1directories
Concurrency Level: 1
Time taken for tests: 105.827463 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 47140000 bytes
HTML transferred: 44860000 bytes
Requests per second: 94.49 [#/sec] (mean)
Time per request: 10.583 [ms] (mean)
Time per request: 10.583 [ms] (mean, across all concurrent requests)
Transfer rate: 435.00 [Kbytes/sec] received

=========================================================================
200000files/1directories

Concurrency Level: 1
Time taken for tests: 160.704469 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 47140000 bytes
HTML transferred: 44860000 bytes
Requests per second: 62.23 [#/sec] (mean)
Time per request: 16.070 [ms] (mean)
Time per request: 16.070 [ms] (mean, across all concurrent requests)
Transfer rate: 286.46 [Kbytes/sec] received

=========================================================================
6files/1directories

Concurrency Level: 1
Time taken for tests: 74.443781 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 47140000 bytes
HTML transferred: 44860000 bytes
Requests per second: 134.33 [#/sec] (mean)
Time per request: 7.444 [ms] (mean)
Time per request: 7.444 [ms] (mean, across all concurrent requests)
Transfer rate: 618.39 [Kbytes/sec] received

=========================================================================

direct image file

Concurrency Level: 1
Time taken for tests: 49.243008 seconds
Complete requests: 10000
Failed requests: 0
Write errors: 0
Total transferred: 47700000 bytes
HTML transferred: 44850000 bytes
Requests per second: 203.07 [#/sec] (mean)
Time per request: 4.924 [ms] (mean)
Time per request: 4.924 [ms] (mean, across all concurrent requests)
Transfer rate: 945.96 [Kbytes/sec] received

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり

読み込み中...