Schreiben in eine NVMe-Gerätedatei vs. in ein auf einer Partition gemountetes Dateisystem

Schreiben in eine NVMe-Gerätedatei vs. in ein auf einer Partition gemountetes Dateisystem

Ich versuche derzeit, den Lese-/Schreibdurchsatz für SSDs zu testen. Diese SSDs werden über das NVMe-Protokoll gelesen/beschrieben. Derzeit bin ich verwirrt, weil ich zwei Methoden gesehen habe.

  1. Die erste besteht darin, einen Datenblock direkt in die NVMe-Gerätedatei zu schreiben und die Zeit aufzuzeichnen, die der Treiber zum Abschließen dieses Vorgangs benötigt.

  2. Die zweite Möglichkeit besteht darin, ein Dateisystem auf einer Partition der SSD zu mounten und denselben Vorgang auszuführen: in eine Datei im Dateisystem zu schreiben, das auf der Partition gemountet ist, und die Zeit aufzuzeichnen.

Was passiert eigentlich unter der Haube? Was führt zu einem realistischeren Ergebnis hinsichtlich des Durchsatzes?

Antwort1

Lese- und Schreibvorgänge auf einem Blockgerät werden nicht zwischengespeichert. Beim Zugriff auf ein Dateisystem wird der Seitencache verwendet, der sogar viel schneller ist als eine SSD. Sie müssen sich also genauer überlegen, wie Sie messen möchten.

Wenn Sie ein System verwenden, verwenden Sie Dateisysteme und den Seitencache. Dies sind also wahrscheinlich die relevanteren Ergebnisse. Ich gehe davon aus, dass der Leistungsunterschied bei Verwendung eines Dateisystems geringer ist.

verwandte Informationen