
No.2ベストアンサー
- 回答日時:
OS上の制約は#1さんの回答の通り事実上無限ですが、ディレクトリ中のファイル検索は、データベースじゃなくて、ディレクトリファイルをシーケンシャルに読み込んでの検索なので、既存ファイルのオープン処理はファイル数が増えるだけ遅くなります。
そういった意味では数千個くらいというのは目安でしょう。具体的な時間は実環境で実測するしかないです。
ご回答ありがとうございました。
> ディレクトリファイルをシーケンシャルに読み込んでの検索
勉強になりました。つまり、インデックスがないということですね?
> 既存ファイルのオープン処理はファイル数が増えるだけ遅くなります。
セッションはDBに格納する方向で検討してみます。
ありがとうございました。
No.3
- 回答日時:
ext2 や ext3 はシーケンシャルに見ていきますが, その他のファイルシステムはほとんどもっと賢い方法を使ってると思います.
ご回答ありがとうございます。
参考になりました。
セッションデータの保持が理由でしたので、DBに任せようと思います。
ありがとうございました。
No.1
- 回答日時:
カーネル付属文書にext2の説明がありました。
以下引用です。
============================================
現行の単方向リンクのリストによるディレクトリの実装で、
一つのディレクトリ内のファイル数は、
実運用上約 10-15k 個が上限になります。
この制限はこのような大きなディレクトリ内のファイルを作成および削除 (さらに検索) する時のパフォーマンスの問題のためです。
ディレクトリインデックスのハッシング (開発中) を使用すれば、
パフォーマンスの問題なしに一つのディレクトリに 100k-1M+ 個のファイルが置けます (この時には RAM サイズが問題になります)。
一つのディレクトリ内のファイルの (無意味な) 絶対的な上限 (ファイルサイズによって課されるもので、
現実的な制限は明白にはるかに少ない) は 130兆ファイル以上です。
ユニークなディレクトリエントリを構築するための名前は 4 文字では足りないので、
8 文字のファイル名にしなければならないということを考慮しなければもっと多くできますが、
考慮してすらユニークなファイル名を使い果たしてしまいそうです。
参考URL:http://www.linux.or.jp/JF/JFdocs/kernel-docs-2.6 …
ご回答ありがとうございました。
> 現行の単方向リンクのリストによるディレクトリの実装で、
> 一つのディレクトリ内のファイル数は、
> 実運用上約 10-15k 個が上限になります。
やっぱり少ないんですね。
> ディレクトリインデックスのハッシング (開発中) を使用すれば、
こちらを検討するよりかは、ファイルでなくDBに格納する方を
考えて見ます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux JSLinuxについて。 Linuxのこの手順のプログラミングは合っているでしょうか。 ①ホームディ 2 2022/06/20 15:33
- その他(プログラミング・Web制作) 図に示す階層構造で,現在のディレクトリ(カレントディレクトリという)が*印のディレクトリであるとき, 2 2022/11/16 10:55
- PHP ファイルアップロードに関してのセキュリティについてアドバイスお願い致します 1 2023/08/20 00:25
- UNIX・Linux サーバー間のデータコピー(データ形式とデーターフォーマットの変換あり。一定間隔で処理) 2 2023/08/22 22:15
- その他(開発・運用・管理) 【至急】.htaccessによるディレクトリ単位でのリダイレクト 2 2023/08/10 13:46
- AJAX RPA(PowerAutomate)の実装について 1 2023/07/31 13:46
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をfind.shとして、以下の条件をすべて満たすファ 1 2023/02/03 03:50
- フリーソフト サイトで使用していない画像ファイルの削除ソフトを探しています。 3 2023/04/05 10:49
- その他(IT・Webサービス) WEBサイト内のファイルを探す方法は? 1 2022/11/11 16:38
- その他(開発・運用・管理) バッチファイルで特定のファイル・ディレクトリ以外を削除する方法について 4 2022/05/31 14:03
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
2TBのUSBメモリを2000円ほどで...
-
7zを使うとフォルダの中身がす...
-
「umask 111 」でファイルを作...
-
拡張子.dどういう意味
-
OpenOffice削除できず…
-
Linuxのディレクトリエントリの...
-
外付けHDDの方法
-
cpコマンドで、属性維持したま...
-
FTPサーバーによるセキュリティ...
-
Windowsのディレクトリ内のファ...
-
LinuxのNASのバックアップ機能...
-
/なしのディレクトリ指定について
-
FTPで上書きできない
-
インストールCDの作成
-
./buildについて
-
ディレクトリーの属性表示で、t...
-
Minecraftにforgeを入れたら、...
-
特定のサイトにアクセスできま...
-
ipodclassicについて
-
マクロでエクセルをyyyym...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ftpのmgetコマンドの自分の格納...
-
ファイル名で / (スラッシュ...
-
拡張子.dどういう意味
-
7zを使うとフォルダの中身がす...
-
Linuxコマンドについて
-
make時に出てきたエラーメッセ...
-
FTPでPUTできない原因は何?
-
"cp -a"と"cp -r"の違い
-
linuxコマンド mkdirでディレ...
-
FTPコマンドのCDについて
-
/(スラッシュ)で区切ったフル...
-
「照合パターンに合いません」...
-
zorin os lite 15 のデスクトッ...
-
scpによるデータ転送後、ディレ...
-
バッチファルの置き場所
-
ホームページのディレクトリを...
-
「ドット(.)」と「¥」の意味...
-
#./configureの時点でダメです。
-
ftpでのフォルダごとの転送はで...
-
LinuxでSGID設定する際、2775と...
おすすめ情報