Een NVMe-SSD kan vertragen tijdens back-ups van kleine bestanden, omdat metagegevens, willekeurige schrijfbewerkingen, synchronisatiebarrières en CPU-belasting een andere knelpunt veroorzaken dan één grote kopieeractie.
Het woord ‘throttling’ wordt vaak gebruikt voor elke snelheidsdaling, maar thermische throttling is slechts één mogelijkheid. Back-ups van kleine bestanden maken herhaaldelijk directory-items aan, werken tijdstempels en rechten bij, openen en sluiten bestanden, berekenen checksums, comprimeren of versleutelen gegevens en schrijven metagegevens definitief weg. De NVMe-SSD kan een lagere MB/s-waarde tonen terwijl er meer bewerkingen per seconde worden verwerkt en de latentie hoger is. Vergelijk lokale workloads van gelijke grootte voordat je de koeling aanpast of de schijf vervangt.
Bewijs het verschil met lokale tests van gelijke grootte
Maak één groot bestand en een directorystructuur met kleine bestanden met dezelfde totale gegevensomvang. Kopieer beide lokaal naar dezelfde NVMe-bestemming en noteer de verstreken tijd, IOPS, latentie, CPU-gebruik en temperatuur.
Fio definieert afzonderlijke sequentiële en willekeurige I/O-modi, waarmee je de vorm van de workload kunt isoleren in plaats van niet-gerelateerde back-upruns te vergelijken.
Als de grote lokale kopie snel blijft terwijl het aanmaken van kleine bestanden vertraagt, zijn de PCIe-verbinding en het sequentiële NAND-pad waarschijnlijk beschikbaar. Ga verder met metagegevens, wachtrijlatentie, cache, CPU en warmte.
Meet metagegevensbewerkingen in plaats van alleen MB/s
Houd bestanden per seconde, aanmaakbewerkingen, sluitbewerkingen, hernoemingen, directory-updates, ACL-schrijfbewerkingen, uitgebreide kenmerken en synchronisatiebewerkingen bij. Vergelijk deze waarden met de doorvoersnelheid van de gegevens.
Red Hat beschrijft opslag voor kleine bestanden als intensief voor metagegevens. Dat verklaart waarom duizenden kleine bestanden een lage MB/s-waarde kunnen opleveren zonder de limiet van de sequentiële bandbreedte van de NVMe-SSD te bereiken.
Een back-up kan dus druk bezig en gezond zijn terwijl de weergegeven bytesnelheid teleurstelt. Beoordeel de prestaties naast de doorvoer ook op voltooide bestanden, latentie en vereisten voor herstel.
Controleer of het opschonen van de cache de schrijflatentie verhoogt
Noteer de vrije ruimte, het aantal geschreven bytes, de aanhoudende latentie en of de prestaties na een periode van inactiviteit herstellen. Vergelijk een pas getrimd testgebied alleen op een veilige manier met de normale back-upbestemming.
Crucial legt uit dat actieve garbage collection de SSD-snelheid kan beïnvloeden, vooral wanneer het apparaat weinig tijd inactief is of weinig herbruikbare ruimte heeft.
Kleine willekeurige schrijfbewerkingen kunnen meer interne verplaatsingen vereisen dan één sequentiële gegevensstroom. Houd voldoende vrije ruimte beschikbaar en ga er niet vanuit dat de geadverteerde sequentiële snelheid ook geldt voor aanhoudende kleine schrijfbewerkingen.
Controleer wachtrijlatentie en verzadiging van het apparaat
Leg tijdens beide tests de gemiddelde verzoeklatentie, wachtrijdiepte, benutting, lees- en schrijfsnelheden en CPU-I/O-wachttijd vast. Let op een hoge latentie bij een bescheiden MB/s-waarde.
Het iostat-rapport helpt aantonen wanneer het apparaat verzadigd raakt door veel kleine verzoeken, ook al blijft de totale doorvoer ver onder de sequentiële specificaties.
Meer gelijktijdigheid in de back-up kan een licht belast apparaat sneller maken, maar een al verzadigde wachtrij verder verslechteren. Wijzig telkens slechts één worker- of wachtrijinstelling.
Scheid bestandssysteemrecords van bestandsgegevens
Identificeer de bron- en doelbestandssystemen en de metagegevens die elke back-up bewaart. Leg bij NTFS de groei van de MFT vast en controleer of beveiligingsdescriptors, alternatieve gegevensstromen en tijdstempels worden gekopieerd.
Microsoft stelt dat de MFT ten minste één record per bestand bevat. Dit illustreert waarom veel kleine bestanden veel meer werk aan bestandssysteemrecords veroorzaken dan één bestand met dezelfde totale grootte.
Als de back-up ACL's, xattrs, sparse bereiken of checksums bewaart, neem dat werk dan mee in de vergelijking. Integriteitsfuncties uitsluitend uitschakelen om een benchmark te verbeteren kan de back-up verzwakken.
Controleer echte thermische throttling in plaats van deze te veronderstellen
Log de samengestelde NVMe-temperatuur, de tijd met thermische waarschuwingen, de bezette tijd van de controller en de prestaties vóór en na het verbeteren van de koeling. Herhaal de test met een stabiele luchtstroom en dezelfde set kleine bestanden.
Kingston legt uit dat thermische throttling de prestaties verlaagt totdat de SSD weer een veilige temperatuur bereikt.
Als de doorvoer daalt zonder een temperatuurdrempel of thermische waarschuwing, noem het dan een knelpunt in de workload en geen thermische throttling. Koeling lost geen serialisatie van metagegevens of CPU-beperkte hashing op.
Optimaliseer de back-uplaag die daadwerkelijk verzadigd raakt
Test een bescheiden wijziging, zoals minder checksum-workers, één extra kopieerworker, gebundelde metagegevens, een lokaal manifest of het uitsluiten van opnieuw te genereren caches. Bewaar metagegevens die essentieel zijn voor herstel.
Het ZimaSpace-artikel over het testen van SMB-kopieerbewerkingen met kleine bestanden behandelt netwerkoverdrachten. Dit artikel isoleert de lokale NVMe- en back-uppijplijn wanneer de grote lokale kopie snel blijft.
De diagnose is voltooid wanneer de vertraging te herleiden is tot de metagegevenssnelheid, willekeurige schrijflatentie, het opschonen van de cache, CPU-belasting of geverifieerde thermische throttling, en een gerichte wijziging de resultaten van dezelfde gecontroleerde test met kleine bestanden verbetert.
Ondersteuning & Tips
Meer om te lezen

Kan Plex een GPU delen met een andere Docker-container?
Plex en een andere container kunnen vaak dezelfde GPU gebruiken, maar je moet de driverondersteuning, apparaattoewijzing, belasting van de video-engine, het geheugengebruik en het...

Hoe je kunt bepalen of een Plex-fout door de client of de server wordt veroorzaakt
Reproduceer hetzelfde item op een andere client, vergelijk het sessiepad en verzamel pas serverbewijs nadat de scope heeft uitgewezen waar de fout daadwerkelijk zit.

Plex-cache en tijdelijke opslag voor transcodering configureren
Bescherm de permanente Plex-status door tijdelijke transcodebestanden op geschikte lokale opslag te plaatsen en controleer vervolgens het opruimen, de beschikbare ruimte en het gedrag...

