Jaka jest maksymalna liczba plików, które może przechowywać folder Unix?
Myślę, że będzie taka sama jak liczba plików.
linux
unix
filesystems
Peter Mortensen
źródło
źródło
Odpowiedzi:
Różni się w zależności od systemu plików, http://en.wikipedia.org/wiki/Comparison_of_file_systems
źródło
We wszystkich obecnych systemach plików Unix katalog może przechowywać praktycznie nieograniczoną liczbę plików. Natomiast „nieograniczony” jest ograniczony przez przestrzeń dyskową i i- węzły - cokolwiek skończy się jako pierwsze.
Przy starszych projektach systemów plików ( ext2 , UFS , HFS + ) rzeczy mają tendencję do spowalniania, jeśli masz wiele plików w katalogu. Zwykle zaczyna się boleć około 10 000 plików. Dzięki nowszym systemom plików ( ReiserFS , XFS , ZFS , UFS2 ) możesz mieć miliony plików w katalogu, nie widząc ogólnych wąskich gardeł wydajności.
Ale posiadanie tak wielu plików w katalogu nie jest dobrze przetestowane i istnieje wiele narzędzi, które to zawodzą. Na przykład skrypty okresowej konserwacji systemu mogą się na nim zapchać.
Z przyjemnością korzystałem z katalogu z kilkoma milionami plików na UFS2 i nie widziałem żadnych problemów, dopóki nie chciałem go usunąć - zajęło to kilka DNI.
źródło
To zależy, z iloma i-węzłami utworzono system plików. Wykonywanie
da ci liczbę wolnych i-węzłów. Jest to praktyczny limit liczby plików, które może przechowywać system plików, a tym samym katalog.
źródło
Zakładam, że myślisz o przechowywaniu wielu plików w jednym miejscu, nie?
Większość współczesnych systemów plików Unix może umieścić wiele plików w jednym katalogu, ale operacje takie jak śledzenie ścieżek, wyświetlanie plików itp. Wymagają liniowego przeszukiwania listy plików i zwalniają, jeśli lista staje się zbyt duża.
Wydaje mi się, że słyszę, że kilka tysięcy to zbyt wiele, by mogły być wykorzystane w praktyce. Zazwyczaj rozwiązaniem jest rozbicie grupowania. To jest,
i przechowuj swoje pliki w odpowiednim podkatalogu zgodnie z ich skrótem
basename
. Wybierz wygodny skrót, pierwszy znak może zrobić w prostych przypadkach.Cristian Ciupitu pisze w komentarzach, że XFS i prawdopodobnie inne bardzo nowe systemy plików używają
log(N)
przeszukiwalnych struktur do przechowywania zawartości katalogu, więc to ograniczenie jest znacznie poprawione .źródło
ext3
jeden z najpopularniejszych formatów systemu plików linuksowego staje się bardzo powolny, jeśli w katalogu znajduje się plik o wielkości ponad 20 KB. Niezależnie od tego, ile może pomieścić, powinieneś unikać posiadania tylu plików w jednym katalogu.źródło
Z pozostawionego komentarza wynika, że tak naprawdę nie obchodzi Cię, ile plików / folderów może hostować FS.
Prawdopodobnie powinieneś rozważyć użycie ModRewrite i przepisanie site.com/username na site.com/?user= lub coś w tym rodzaju i przechowywać wszystkie swoje dane w bazie danych. Utworzenie jednego folderu na użytkownika nie jest generalnie konieczne (i nie jest dobrym pomysłem).
To powiedziawszy, każdy system plików ma ograniczenia i
df
może ci powiedzieć, ile i-węzłów jest dostępnych na każdej partycji twojego systemu.źródło