Leson 1E/S asynchrones et groupées : utilisation io_uring, liburing, AIO, et groupage écritures pour réduire blocageApprenez à réduire blocage en émettant E/S asynchrones et groupées. Nous couvrons io_uring, liburing, POSIX AIO, groupage écritures, et comment redessiner chemins appels pour garder threads occupés pendant achèvement E/S arrière-plan.
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 APIsLeson 2Profondeur file et throttling client : limitation requêtes en cours, seaux jetons, et mécanismes backpressureComprenez comment profondeur file et throttling client façonnent latence et débit. Cette section couvre limites sécurisées, conception seau jetons, signaux backpressure, et comment éviter collapse surcharge dans systèmes stockage partagés.
Choosing safe queue_depth for each device typeImplementing token bucket rate limitersDesigning backpressure signals to callersCoordinating limits across many clientsMonitoring tail latency under throttlingLeson 3Ajustement ordonnanceur E/S et couche bloc : changement ordonnanceurs, ajustement ascenseur, queue_depth approprié, blk-mq et réglages multiqueueAjustez couche bloc et ordonnanceur E/S pour matcher charge. Vous apprendrez sélection ordonnanceurs, ajustement queue_depth, configuration blk-mq multiqueue, et validation améliorations avec benchmarks réalistes.
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 safelyLeson 4Utilisation SSD dédiés vs HDD et compréhension alignement, surprovisionnement, et comportement TRIM/reclaimComprenez quand utiliser SSD versus HDD et comment les déployer correctement. Sujets incluent alignement, surprovisionnement, comportement TRIM/reclaim, et conceptions tiers mixtes pour performances coût-efficaces.
Choosing SSD or HDD for each workload typeEnsuring partition and filesystem alignmentPlanning SSD overprovisioning capacityConfiguring TRIM, discard, and reclaim safelyDesigning hybrid SSD–HDD storage tiersLeson 5Stratégies mise cache et tamponnage : caches niveau application (LRU), ajustement cache pages Linux, tmpfs, et considérations write-back vs write-throughComprenez stratégies mise cache et tamponnage d'application à noyau. Cette section explique caches LRU, ajustement cache pages Linux, usage tmpfs, et compromis write-back vs write-through pour durabilité et latence.
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 layersLeson 6Changements disposition stockage : séparation données chaudes, froides, et logs sur dispositifs ou partitions différentsApprenez à séparer données chaudes, froides, et logs sur dispositifs ou partitions différents. Nous couvrons analyse charge, motifs disposition, stratégies migration, et mesure améliorations latence, débit, contention après changements.
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 reorganizationLeson 7Contrôle concurrence et motifs E/S : groupage petites écritures, coalescence fsync, commit groupe, et motifs conception non-bloquantsApprenez comment motifs concurrence interagissent avec comportement stockage. Nous couvrons groupage petites écritures, coalescence fsync, commit groupe, et motifs conception non-bloquants réduisant contention et améliorant débit.
Batching tiny writes into aligned blocksCoalescing fsync calls across sessionsImplementing group commit in log systemsEvent-driven non-blocking server designsAvoiding thundering herd on shared filesLeson 8Compromis fiabilité : risques perte données barrières async/désactivées, cohérence cache NAS, et tests garanties durabilitéAnalysez compromis fiabilité introduits par ajustement E/S agressif. Vous apprendrez risques barrières async, incohérence cache NAS, comment tester garanties durabilité, et documenter modes défaillance supportés.
Risks of disabling barriers and write cachesNAS cache consistency and stale readsDesigning durability and crash testsDocumenting supported data loss scenariosBalancing SLAs between latency and safetyLeson 9Optimisations stockage réseau : options montages NFS (async/sync, rsize/wsize, noac, actimeo), ajustement TCP et jumbo frames, multipathOptimisez piles stockage réseau comme NFS et iSCSI. Cette section couvre options montages NFS, ajustement TCP, jumbo frames, et multipath pour améliorer débit, latence, et résilience pannes liaisons.
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 policiesLeson 10Ajustement options système fichiers et montages : noatime, nodiratime, barrière/discard, allocation inodes et réglages journalisationExplorez options systèmes fichiers et montages clés affectant latence E/S. Vous apprendrez quand utiliser noatime, barrière, discard, et modes journalisation, plus comment allocation inodes et options répertoires influencent surcharge métadonnées.
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