שיעור 1קלט/פלט אסינכרוני ומקובץ: שימוש ב-io_uring, liburing, AIO וקיבוץ כתיבות להפחתת חסימהלמדו להפחית חסימה על ידי ביצוע קלט/פלט אסינכרוני ומקובץ. אנו מכסים io_uring, liburing, POSIX AIO, קיבוץ כתיבות, וכיצד לעצב מחדש מסלולי קריאות לשמירה על תהליכים עסוקים בזמן שהקלט/פלט מסתיים ברקע.
Designing non-blocking I/O call patternsUsing io_uring and liburing submission queuesBatching small writes into larger segmentsHandling completion events and error pathsComparing io_uring with legacy AIO APIsשיעור 2עומק תור וחניקת צד לקוח: הגבלת בקשות פתוחות, דלי אסימונים, ומנגנוני לחץ חוזרהבינו כיצד עומק תור וחניקת לקוח מעצבים השהיה ותפוקה. סעיף זה מכסה גבולות בטוחים, עיצוב דלי אסימונים, אותות לחץ חוזר, וכיצד למנוע קריסת עומס במערכות אחסון משותפות.
Choosing safe queue_depth for each device typeImplementing token bucket rate limitersDesigning backpressure signals to callersCoordinating limits across many clientsMonitoring tail latency under throttlingשיעור 3כוונון מתזמן קלט/פלט ושכבת בלוקים: החלפת מתזמנים, כוונון מעלית, הגדרת queue_depth מתאים, הגדרות blk-mq ורב-תוריםכוונו את שכבת הבלוקים ומתזמן הקלט/פלט להתאמה לעומס העבודה. תלמדו לבחור מתזמנים, להתאים queue_depth, להגדיר blk-mq רב-תורים, ולוודא שיפורים עם בדיקות אמיתיות.
Comparing mq-deadline, none, and BFQ schedulersSetting queue_depth for SSDs and HDDsConfiguring blk-mq multiqueue parametersIsolating noisy neighbors at the block layerBenchmarking scheduler changes safelyשיעור 4שימוש ב-SSD ייעודיים לעומת HDD והבנת יישור, יתר-הקצאה והתנהגות TRIM/שחזורהבינו מתי להשתמש ב-SSD לעומת HDD וכיצד לפרוס אותם נכון. נושאים כוללים יישור, יתר-הקצאה, התנהגות TRIM/שחזור, ועיצובים רב-שכבתיים ליעילות עלות-ביצועים.
Choosing SSD or HDD for each workload typeEnsuring partition and filesystem alignmentPlanning SSD overprovisioning capacityConfiguring TRIM, discard, and reclaim safelyDesigning hybrid SSD–HDD storage tiersשיעור 5אסטרטגיות מטמון וחיפוי: מטמונים ברמת יישום (LRU), כוונון מטמון דפים לינוקס, שימוש ב-tmpfs, ושיקולים כתיבה-חזרה לעומת כתיבה-קדימההבינו אסטרטגיות מטמון וחיפוי מיישום לגרעין. סעיף זה מסביר מטמוני LRU, כוונון מטמון דפים של לינוקס, שימוש ב-tmpfs, ופשרות בין כתיבה-חזרה לכתיבה-קדימה לעמידות והשהיה.
Designing effective application LRU cachesTuning Linux page cache and dirty ratiosWhen to use tmpfs for transient hot dataWrite-back vs write-through trade-offsAvoiding double caching across layersשיעור 6שינויי פריסת אחסון: הפרדה של נתונים חמים, קרים ויומנים על מכשירים או מחיצות שוניםלמדו להפריד נתונים חמים, קרים ויומנים על מכשירים או מחיצות שונים. אנו מכסים ניתוח עומס, דפוסי פריסה, אסטרטגיות הגירה, וכיצד למדוד שיפורים בהשהיה, תפוקה ותחרות לאחר שינויים.
Identifying hot vs cold data from workload tracesPlacing logs on low-latency dedicated devicesSeparating random and sequential I/O workloadsPartitioning schemes for mixed media arraysMeasuring gains from layout reorganizationשיעור 7בקרת מקביליות ודפוסי קלט/פלט: קיבוץ כתיבות קטנות, איחוד fsync, התחייבות קבוצתית ודפוסי עיצוב לא חוסמיםלמדו כיצד דפוסי מקביליות מקיימים אינטראקציה עם התנהגות אחסון. אנו מכסים קיבוץ כתיבות קטנות, איחוד fsync, התחייבות קבוצתית, ודפוסי עיצוב לא חוסמים שמפחיתים תחרות ומשפרים תפוקה.
Batching tiny writes into aligned blocksCoalescing fsync calls across sessionsImplementing group commit in log systemsEvent-driven non-blocking server designsAvoiding thundering herd on shared filesשיעור 8פשרות אמינות: סיכוני אובדן נתונים עם מחסומים אסינכרוניים/מושבתים, עקביות מטמון עם NAS, ובדיקת הבטחות עמידותנתחו פשרות אמינות המוכנסות על ידי כוונון IO אגרסיבי. תלמדו סיכונים של מחסומים אסינכרוניים, חוסר עקביות מטמון עם NAS, כיצד לבדוק הבטחות עמידות, וכיצד לתעד מצבי כשל נתמכים.
Risks of disabling barriers and write cachesNAS cache consistency and stale readsDesigning durability and crash testsDocumenting supported data loss scenariosBalancing SLAs between latency and safetyשיעור 9אופטימיזציות אחסון רשת: אפשרויות עיגון ל-NFS (async/sync, rsize/wsize, noac, actimeo), כוונון TCP ומסגרות ג'מבו, ומסלולים מרוביםאופטימו מחסניות אחסון רשת כמו NFS ו-iSCSI. סעיף זה מכסה אפשרויות עיגון NFS, כוונון TCP, מסגרות ג'מבו ומסלולים מרובים לשיפור תפוקה, השהיה ועמידות לכשלי קישור.
Choosing NFS async, sync, and commit modesTuning rsize, wsize, and attribute cachingConfiguring TCP buffers and congestion controlUsing jumbo frames safely in storage networksDesigning multipath and failover policiesשיעור 10כוונון אפשרויות מערכת קבצים ועיגון: noatime, nodiratime, barrier/discard, הגדרות הקצאת inode ויומןחקרו אפשרויות מערכת קבצים ועיגון מרכזיות המשפיעות על השהיית IO. תלמדו מתי להשתמש ב-noatime, מחסום, discard ומצבי יומן, בתוספת כיצד הקצאת inode ואפשרויות ספרייה משפיעות על עומס מטא-נתונים.
Impact of atime, noatime, and relatime modesJournaling modes and barrier configurationSafe use of discard and background TRIMInode density and directory layout choicesPer-mount options for latency-sensitive paths