דברים שלמדתי בדרך הקשה:
- אל תאמינו ללקוח שאומר לכם שיש "רק כמה עשרות אלפים", תבדקו לבד כדי לוודא.
- לא להעיז לעשות דיפראג, עדיף לגבות ולשחזר, תאמינו לי שזה לוקח פחות זמן.
- לא winrar ולא 7zip יצליחו לגבות יותר מ400K קבצים פחות או יותר. אם יש לכם יותר מזה אז לא להתעצל, לפתוח חלון Cygwin ולדחוס איזה TBZ בריא.
- האיטיות תהיה הרבה יותר גרועה ממה שאתם חושבים, לפעמים פאקטור X5 על כל הערכה, וזה יהיה אופטימי. אני לא צוחק.
- כדי לשפר את המצב, כבו זמנית על אותה תחנה או שרת את האנטיוירוס.
- כשאתם מפרמטים את המחיצה מחדש זה מאוד מפתה לחשוב שיחידות 4K זה בזבזני וכדאי לרדת לקלאסטרים בגודל סקטור – טעות. אל תתנו לזה לקרות לכם. השארו עם ברירת המחדל.
- כשאתם משחזרים את הTBZ עם 10 מליון קבצים, ודאו שהאנטיוירוס המזורגג לא הפעיל את עצמו מחדש בלי לשאול אתכם.
- כשאתם משחזרים 10 מליון קבצים מ-TBZ ודאו מההתחלה שהUMASK שלכם הוא 0 ולא 0022 או משהו מעצבן דומה. זה סיוט לשנות מחדש את כל ההרשאות דרך הGUI, לא מצאתי בדיוק איך לעשות את זה רשמית ב-CLI ונראה שפקודת chmod רקורסיבית ב-Cygwin עושה רק חלק מהעבודה.
- בכלל, זכרו שבניגוד ל"עצים רוקדים" ושלל שכלולים חכמים בFS שאתם רגילים בלינוקס, NTFS זו מערכת מפגרת שעובדת ב-linked lists פשוטים, משמע מציאת קובץ בספריה הוא (o(n ולכן מציאת המטא-דאטה שלו היא (O(n2, אם לא נזהרים. האנס רייזר אולי פסיכופת אבל הוא גם גאון.
- עוד דבר חשוב – לא רק שהאינדקס של כל ספריה הוא לינארי, הוא בעצם קובץ שעשוי להתחרפן אם הוא חוטף פראגמנטציה, וכלי הדיפראג של חלונות לא מאחה אותו! בשביל זה מוחבא כלי אחר ב-MSDN בשם contig. למה? ככה. קסנם מיקרוסופט. עוד סיבה להשאר עם קלאסטרים גדולים.
- יש כמה דברים שראוי לעשות לפני הכל ומראש כי עצוב לגלות אותם בסוף, כולל כל הטוויקים להתנהגות מערכת הקבצים (למשל איזה כיף לגלות שאפשר לכבות יצירת שמות 8.3 אוטומטית – למה זו לא ברירת המחדל, אינעל OS תבעק?)
- ובכלל, מדי פעם שיעורי בית זה לא מזיק. אפשר ללמוד המון מאחרים.
- לבסוף, להסביר בנימוס ללקוח שאלפי קבצים בספריה זה נחמד אבל הביצועים יפלו עם עשרות ומאות אלפים, בשביל זה אלוהימה המציאה את ההאשים.
ציינתי כבר שאני שונא לנהל מערכות של מיקיסופט?