![]() |
# 1 |
חבר מתקדם
|
בקשר לטעינה בין תיקיות
אהלן ,
יוצא לי דבר כזה שיש לי תיקייה מרכזית אחת , עם כל הדפים לדוגמא showpost , index והלאה והלאה עכשיו , השאלה שלי היא האם ליצור תיקייה בתוך התיקייה המרכזית עם כל האייקונים ותמונות שהדפים צריכים או האם לחלק את התמונות לתיקיות שנגיד לדף showpage יהיה תיקייה משלו עם התמונות שהוא צריך וככה לכל דף הסיבה לשאלה היא שיש הרבה תמונות {ויכול} להיות שכשאני פותח את התיקייה אז כל התמונות עולות כדי לבחור את התמונה שהתבקשה וסתם לשווא ? אני יודע שמדובר על מספרים ממש קטנים שלא מרגישים אותם , אבל על מאיות השניה האם זה באמת צורך יותר זמן? תודה. |
![]() |
![]() |
# 2 |
משתמש - היכל התהילה
|
אתה מדבר תקייה במחשב לך או בשרת?
אין בעיה שיהיו מליון(אני מגזים בכוונה ![]()
__________________
קו ישר, כי אפשר גם אחרת |
![]() |
![]() |
# 3 | ||
אין כמו ב127.0.0.1
|
ציטוט:
פניה של מישהו אלי, שבמקרה התבצעה בשבוע שעבר ורלוונטית לנושא (עם שמירה על אנונימיות - רק הפרטים הרלוונטים מצוטטים): ציטוט:
|
||
![]() |
![]() |
# 4 | ||
מנהל פורום, עסק רשום
|
ציטוט:
ציטוט:
ורק כדי להוסיף למה שנאמר פה, בשרתי 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 של התמונה עצמה בצורה כזאת מתבצע חלוקה לעץ מאוד גדול של תיקיות כך שלא יווצר מצב בו יש כמות גדולה של פריטים באותה התיקיה. הבנתי ששרתי לינוקס לא רגישים (או פחות רגישים) לנושא הזה, אך הרעיון לשיטת העבודה הזאת הגיע במקור ממפתח שעבד בוואלה והם יישמו משהו מאוד דומה עם אלבומים שלהם והם עובדים עם שרתי לינוקס למיטב ידיעתי. |
||
![]() |
![]() |
# 5 |
I am root
|
במחשבי חלונות הגבלת הקבצים הינה 4096 בשרתי 32 ביט ( לא בדקתי ב64 עדיין )
בשרתי לינוקס ההגבלה היא מה שבא לך לשים ב proc/sys/fs ו file-max, file-nr. מטבע הדברים בונה האתר משתמש במערכת חלונות, ובמידה ואתה מחזיק יותר מ 4000 קבצים בתיקיה , ויוצא לך להוריד את הגיבוי אליך למחשב ולעבוד על קבצי האתר (נדיר) , או יותר הגיוני.. תנסה לפתוח את התיקייה ב FLASHFXP ותעשה רענון, .... החלון עלול להיתקע . נניח בצד חלונות, צורת העבודה של ext3 ( מערכת הקבצים הסטנדרטית בלינוקס סנטוס 5 ), מערכת הקבצים תומכת בהמון קבצים, אך ברגע שיש לך הרבה קבצים בשימוש שיושבים באותה תיקיה , האינדקס של התיקייה עלולה להיפגם ( נניח הפעלה מחדש לא צפויה ), ויהיה לך קשה מאוד להגיע לקבצים שלך במקרה כזה. בנוסף לוקחים בחשבון I/O ( ברמת החומרה ) של הכונן הקשיח ,ושיטת העבודה של הפיזית של כונן מגנטי. כשעובדים בתיקיות מסודרות, יותר "קל" לדיסק פיזית לבצע את פעולת שליפת הנתונים והעלאתם לזיכרון בצורה יעילה. בעולם ה STORAGE , נהוג להשתמש במערכות קבצים כמו XFS שם לא מדברים על הנושאים הללו בכלל , אך לא בשרתי סנטוס , לכן בא הפתרון הפשוט של חלוקה לתיקיות מתאימות (כמו בדוגמא של יגאל עשו לפי תאריכים ) שיטה נפוצה נוספת היא לעבוד בתצורת תיקיות מבוססות MD5 למשל: קוד:
[user@localhost ~]$ ./hashdemo.sh pix00001.jpg fd8f49c6487588989cd764eb493251ec pix00002.jpg 12955d9587d99becf3b2ede46305624c pix00003.jpg bfdc8f593676e4f1e878bb6959f14ce2 [user@localhost ~]$ cat hashdemo.sh #!/bin/sh # CANDIDATES="pix00001.jpg pix00002.jpg pix00003.jpg" for i in `echo "${CANDIDATES}"`; do HASH=`echo "$i" | md5sum - | awk {'print $1'}` echo "$i ${HASH}" done [user@localhost ~]$ במידה ויש לך המון קבצים, אפשר להשתמש ב 2 תווים ראשונים וכן האלה בהתאם להיקף המערכת ובמחשבה לעתיד. אפשר ליישם את זה גם ב PHP שמכיל פונקצית MD5 ויצירת תיקיות מובנית בשפה. במילים אחרות , שרתי הלינוקס(מערכת ההפעלה עצמה ) אינם רגישים - אבל הדיסקים הקשיחים ומערכות הקבצים השונות מתפקדות בצורה שונה , לכן חשוב לשמור על סטנדרט אחיד ונוח ,תוך כדי התחשבות בכל סוגי מערכות הקבצים והתחשבות במבנה הפיזי של הכוננים המגנטיים. אני מניח שאותו מפתח בוואלה נתקל בתופעה של load avarages גבוהים , ללא קשר למצב הסרביסים , ובדיקה פשוטה הראתה שמדובר ב I/O של הדיסקים הקשיחים, מכאן הפתרון. |
![]() |
![]() |
# 6 |
מנהל פורום, עסק רשום
|
יהונתן, תודה על ההסבר המפורט.
אם כי אני חושב שזה קצת בזבוז משאבים לחשב MD5 לכל קובץ כאשר מדובר במערכת עם המון קבצים. למרות שזה רק כמה חישובים מתמטים פשוטים יחסית, כשמכפילים בהרבה קבצים זה יוצא המון חישובים. |
![]() |
![]() |
# 7 | |
I am root
|
ציטוט:
( נקודה למחשבה במידה ועובדים בדגש על אבטחה ). עם המעבדים של היום , הפעולה נחשבת מאוד זניחה ביחס לעבר. ( אני מתייחס למצב של שרת יעודי שבו אתה מתאים את חומרת השרת לדרישות האפליקציה,לא אחסון שיתופי כמובן ). |
|
![]() |
![]() |
# 8 |
חבר מתקדם
|
אז לסיכום אפשר לסגור על שלפצל במקרה של ריבוי קבצים ,לדוגמא מעל 400?
|
![]() |
![]() |
# 9 |
מנהל פורום, עסק רשום
|
אני ממליץ לא להתרכז בספירה של כמות הקבצים שיש לך כל פעם ובדיקה אם צריך תיקיה אחרת או לא.
תחשוב על איזושהי חוקיות שתעשה את זה ותממש. ככה גם יהיה לך פשוט לחשב את הנתיב לקובץ. |
![]() |
![]() |
# 10 |
משתמש - היכל התהילה
|
כל יום לומדים משהו חדש
![]()
__________________
קו ישר, כי אפשר גם אחרת |
![]() |
![]() |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|