Waarom wordt een NVMe-SSD trager tijdens back-ups van kleine bestanden, maar niet bij één grote lokale kopie?

Eva Wong is de Technisch Schrijver en en vaste knutselaar bij ZimaSpace. Een levenslange geek met een passie voor homelabs en open-source software, zij is gespecialiseerd in het vertalen van complexe technische concepten naar toegankelijke, praktische handleidingen. Eva gelooft dat zelf-hosting leuk moet zijn, niet intimiderend. Met haar tutorials stelt ze de community in staat om hardware-setup te ontrafelen, van het bouwen van hun eerste NAS tot het beheersen van Docker-containers.

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.

-15% OFF
Single board computer zimaboard2

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

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.