![]() |
בקשר לטעינה בין תיקיות
אהלן ,
יוצא לי דבר כזה שיש לי תיקייה מרכזית אחת , עם כל הדפים לדוגמא showpost , index והלאה והלאה עכשיו , השאלה שלי היא האם ליצור תיקייה בתוך התיקייה המרכזית עם כל האייקונים ותמונות שהדפים צריכים או האם לחלק את התמונות לתיקיות שנגיד לדף showpage יהיה תיקייה משלו עם התמונות שהוא צריך וככה לכל דף הסיבה לשאלה היא שיש הרבה תמונות {ויכול} להיות שכשאני פותח את התיקייה אז כל התמונות עולות כדי לבחור את התמונה שהתבקשה וסתם לשווא ? אני יודע שמדובר על מספרים ממש קטנים שלא מרגישים אותם , אבל על מאיות השניה האם זה באמת צורך יותר זמן? תודה. |
אתה מדבר תקייה במחשב לך או בשרת?
אין בעיה שיהיו מליון(אני מגזים בכוונה ;P) בתקייה, אתה מציג תמונה לפי הנתיב ולא אכפת לשרת כמה עוד יש לו בתקייה. |
ציטוט:
פניה של מישהו אלי, שבמקרה התבצעה בשבוע שעבר ורלוונטית לנושא (עם שמירה על אנונימיות - רק הפרטים הרלוונטים מצוטטים): ציטוט:
|
ציטוט:
ציטוט:
ורק כדי להוסיף למה שנאמר פה, בשרתי WINDOWS (וגם במערכות הפעלה למחשבים עצמם) יש הגבלה של כמות פריטים (קבצים/תיקיות) בכל תיקיה. הסדר גודל הוא כ-10 אלף (אך אני לא לגמריי סגור על הנושא). בעבר הייתי ר"צ פיתוח ברשת חברתית גדולה ומטבע הדברים היו מלא אלבומים ותמונות. החלוקה שם היית בצורה כזאת בערך: קוד:
http://fs.domain.com/@/2009/08/25/5/3/53/5315/123456.jpg 2009/08/25 זה התאריך בו נוצר האלבום שמחזיק את התמונות 5315 זה ה-ID של האלבום (ומכאן נגזרות התיקיות 5, 3 ו-53 שזה 2 הספרות הראשונות של ה-ID) 123456 זה ה-ID של התמונה עצמה בצורה כזאת מתבצע חלוקה לעץ מאוד גדול של תיקיות כך שלא יווצר מצב בו יש כמות גדולה של פריטים באותה התיקיה. הבנתי ששרתי לינוקס לא רגישים (או פחות רגישים) לנושא הזה, אך הרעיון לשיטת העבודה הזאת הגיע במקור ממפתח שעבד בוואלה והם יישמו משהו מאוד דומה עם אלבומים שלהם והם עובדים עם שרתי לינוקס למיטב ידיעתי. |
במחשבי חלונות הגבלת הקבצים הינה 4096 בשרתי 32 ביט ( לא בדקתי ב64 עדיין )
בשרתי לינוקס ההגבלה היא מה שבא לך לשים ב proc/sys/fs ו file-max, file-nr. מטבע הדברים בונה האתר משתמש במערכת חלונות, ובמידה ואתה מחזיק יותר מ 4000 קבצים בתיקיה , ויוצא לך להוריד את הגיבוי אליך למחשב ולעבוד על קבצי האתר (נדיר) , או יותר הגיוני.. תנסה לפתוח את התיקייה ב FLASHFXP ותעשה רענון, .... החלון עלול להיתקע . נניח בצד חלונות, צורת העבודה של ext3 ( מערכת הקבצים הסטנדרטית בלינוקס סנטוס 5 ), מערכת הקבצים תומכת בהמון קבצים, אך ברגע שיש לך הרבה קבצים בשימוש שיושבים באותה תיקיה , האינדקס של התיקייה עלולה להיפגם ( נניח הפעלה מחדש לא צפויה ), ויהיה לך קשה מאוד להגיע לקבצים שלך במקרה כזה. בנוסף לוקחים בחשבון I/O ( ברמת החומרה ) של הכונן הקשיח ,ושיטת העבודה של הפיזית של כונן מגנטי. כשעובדים בתיקיות מסודרות, יותר "קל" לדיסק פיזית לבצע את פעולת שליפת הנתונים והעלאתם לזיכרון בצורה יעילה. בעולם ה STORAGE , נהוג להשתמש במערכות קבצים כמו XFS שם לא מדברים על הנושאים הללו בכלל , אך לא בשרתי סנטוס , לכן בא הפתרון הפשוט של חלוקה לתיקיות מתאימות (כמו בדוגמא של יגאל עשו לפי תאריכים ) שיטה נפוצה נוספת היא לעבוד בתצורת תיקיות מבוססות MD5 למשל: קוד:
[user@localhost ~]$ ./hashdemo.sh במידה ויש לך המון קבצים, אפשר להשתמש ב 2 תווים ראשונים וכן האלה בהתאם להיקף המערכת ובמחשבה לעתיד. אפשר ליישם את זה גם ב PHP שמכיל פונקצית MD5 ויצירת תיקיות מובנית בשפה. במילים אחרות , שרתי הלינוקס(מערכת ההפעלה עצמה ) אינם רגישים - אבל הדיסקים הקשיחים ומערכות הקבצים השונות מתפקדות בצורה שונה , לכן חשוב לשמור על סטנדרט אחיד ונוח ,תוך כדי התחשבות בכל סוגי מערכות הקבצים והתחשבות במבנה הפיזי של הכוננים המגנטיים. אני מניח שאותו מפתח בוואלה נתקל בתופעה של load avarages גבוהים , ללא קשר למצב הסרביסים , ובדיקה פשוטה הראתה שמדובר ב I/O של הדיסקים הקשיחים, מכאן הפתרון. |
יהונתן, תודה על ההסבר המפורט.
אם כי אני חושב שזה קצת בזבוז משאבים לחשב MD5 לכל קובץ כאשר מדובר במערכת עם המון קבצים. למרות שזה רק כמה חישובים מתמטים פשוטים יחסית, כשמכפילים בהרבה קבצים זה יוצא המון חישובים. |
ציטוט:
( נקודה למחשבה במידה ועובדים בדגש על אבטחה ). עם המעבדים של היום , הפעולה נחשבת מאוד זניחה ביחס לעבר. ( אני מתייחס למצב של שרת יעודי שבו אתה מתאים את חומרת השרת לדרישות האפליקציה,לא אחסון שיתופי כמובן ). |
אז לסיכום אפשר לסגור על שלפצל במקרה של ריבוי קבצים ,לדוגמא מעל 400?
|
אני ממליץ לא להתרכז בספירה של כמות הקבצים שיש לך כל פעם ובדיקה אם צריך תיקיה אחרת או לא.
תחשוב על איזושהי חוקיות שתעשה את זה ותממש. ככה גם יהיה לך פשוט לחשב את הנתיב לקובץ. |
כל יום לומדים משהו חדש:-) החכמתי.
|
כל הזמנים הם GMT +2. הזמן כעת הוא 14:35. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ