שאלה מהו המספר המקסימלי של קבצים תיקיית יוניקס יכול להחזיק?


מהו המספר המקסימלי של קבצים תיקיית יוניקס יכול להחזיק?

אני חושב שזה יהיה כמו מספר הקבצים.


20
2018-01-26 01:18




שאלה הרבה יותר טובה יכולה להיות: כמה אני צריך להשתמש? stackoverflow.com/questions/466521/... - Joachim Sauer
אני אשמח לכתובת האתר שלי כדי להיראות כמו site.com/username/ וכן הלאה, אבל לחשוב כי (אם מזל בר מזל) לקבל יותר מ -2 מיליון משתמשים זה יהיה יותר מ -2 מיליון תיקיות, מאז אני לא רוצה להשתמש בסקריפט כגון PHP עם modrewrite אני מסתכל על possibilitie אחרים של תיקיות בתיקייה
עשה לעצמך טובה וליצור subdirectories עם ערכת שכתוב. - Peter Eisentraut


תשובות:


משתנה לכל מערכת קבצים, http://en.wikipedia.org/wiki/Comparison_of_file_systems


19
2018-01-26 01:20



אהבתי את השולחן הזה יותר טוב כאשר היה טור לומר לך אם מערכת הקבצים יהיה לרצוח את אשתך או לא. - Paul Tomblin
לצחוק בקול רם ! - Zach
en.wikipedia.org/w/... - Zach


בכל מערכות הקבצים הנוכחיות של יוניקס ספריה יכולה להחזיק מעמד ללא הגבלה מספר קבצים. בעוד "בלתי מוגבל" מוגבל על ידי inodes - מה שנגמר קודם.

עם עיצובים קודמים של מערכת הקבצים (ext2, UFS, HFS +) דברים נוטים לקבל איטי אם יש לך קבצים רבים בספרייה. בדרך כלל דברים מתחילים לקבל כואב סביב 10,000 קבצים. עם מערכות קבצים חדשות יותר (ReiserFS, XFS, ZFS, UFS2) אתה יכול לקבל מיליוני קבצים בספרייה מבלי לראות צווארי בקבוק בביצוע כללי.

אבל כל כך הרבה קבצים בספרייה לא נבדק היטב ויש הרבה כלים אשר נכשלים כי. לדוגמה, תסריטים תקופתיים של תחזוקת המערכת עשויים להצמיד אותו.

אני בשמחה בשימוש בספרייה עם כמה מיליוני קבצים על UFS2 ולא ראיתי שום בעיות עד שאני רוצה למחוק את הספרייה - זה לקח כמה ימים.


14
2018-01-27 21:23





זה תלוי כמה inodes מערכת הקבצים נוצרה עם. ביצוע

df -i 

ייתן לך את מספר inodes חינם. זהו הגבול המעשי של כמה קבצים במערכת הקבצים ולכן ספריה יכולה להחזיק.


11
2018-01-26 02:22



עם זאת, מערכות קבצים רבות יש הגבלה של קבצים לכל ספרייה, ללא תלות במספר inodes חינם.
כן, אבל השאלה התמקדה במערכות הקבצים של UNIX וככל שאני מודעת לכל מערכות הקבצים המודרניות של UNIX אין להגביל את מספר הקבצים בספריה.


אני מניח שאתה חושב לאחסן הרבה קבצים במקום אחד, לא?

רוב המודרנית מערכות יוניקס קבצים יכול לשים הרבה של קבצים בספריה אחת, אבל פעולות כמו נתיבים הבאים, רישום קבצים וכו 'כרוך חיפוש ליניארי דרך רשימת הקבצים ולקבל איטי אם הרשימה גדלה גדול מדי.

נדמה לי שאני זוכר ששמעתי כמה אלפים יותר מדי עבור רוב השימושים המעשיים. הפתרון הרגיל הוא לשבור את הקיבוץ. זה,

/some/path/to/dir/a/
/some/path/to/dir/b/
...
/some/path/to/dir/z/

ולאחסן את הקבצים בספריית המשנה המתאימה על פי חשיש שלהם basename. בחר hash נוח, התו הראשון יכול לעשות במקרים פשוטים.


כריסטיאן Ciupitu כותב את ההערות כי XFS, ואולי גם מערכות קבצים חדשות מאוד, להשתמש log(N) מבנים לחיפוש כדי להחזיק את תוכן הספרייה, ולכן האילוץ הזה הוא מאוד השתפרה.


6
2018-01-26 02:07



חלק ממערכות הקבצים המודרניות, למשל XFS אינם כרוכים בחיפוש ליניארי. טכנולוגיית B-Tree של XFS מאפשרת לו להגיע ישירות לבלוקים ו / או למיצרים המכילים את מיקום הקובץ באמצעות מדדים מתוחכמים (מ uoks.uj.edu.pl/resources/flugor/IRIX/xfs-whitepaper.html). - Cristian Ciupitu
אה! לא ידעתי את זה. תודה. תוסיף לטקסט. - dmckee
עבור ext3, אתה צריך להפעיל את "dir_index" תכונה, cf. tune2fs (8).


ext3 אחד הפורמטים הנפוצים ביותר לינוקס filesystem מקבל באמת איטי אם יש לך סביב 20k + קובץ בספרייה. לא משנה כמה הוא יכול להחזיק, אתה צריך לנסות להימנע מכך שיש קבצים רבים בספרייה אחת.


0
2018-01-21 10:51





מן ההערה שעזבת, אני חושב שאתה לא ממש אכפת כמה קבצים / תיקיות FS שלך יכול לארח.

אתה כנראה צריך לשקול להשתמש ModRewrite ו rewriting site.com/username כדי site.com/?user= או משהו מסוג זה לאחסן את כל הנתונים במסד הנתונים. יצירת תיקיה אחת לכל משתמש היא בדרך כלל לא הכרחי (ולא רעיון טוב).

עם זאת, לכל מערכת קבצים יש מגבלות, ו df יכול להגיד לך כמה inodes זמינים על כל מחיצה של המערכת שלך.


0
2018-01-21 11:48