Messen und bewerten Sie die Geschwindigkeit und Latenz des Dateizugriffs auf einer bereitgestellten NFS-Freigabe

19

Ich habe ein Linux Centos-System, das einige NFS-Freigaben bereitstellt. Mit welcher Technik kann ich die E / A-Geschwindigkeit / -Latenz / -Rate beim Lesen und Schreiben von Dateien von dieser Freigabe messen? Könnte diese Technik zu Vergleichszwecken auch auf die lokale Festplatte angewendet werden?

Mark Theunissen
quelle

Antworten:

28

Mit welcher Technik kann ich die E / A-Geschwindigkeit / -Latenz / -Rate beim Lesen und Schreiben von Dateien von dieser Freigabe messen?

Sie können dddazu Folgendes verwenden:

# time dd if=/dev/zero of=/mnt/nfs/testfile bs=16k count=128k
131072+0 records in
131072+0 records out
2147483648 bytes (2.1 GB) copied, 111.656 seconds, 19.2 MB/s

real    1m51.678s
user    0m0.066s
sys 0m1.482s

# time dd if=/mnt/nfs/testfile of=/dev/null bs=16k
131072+0 records in
131072+0 records out
2147483648 bytes (2.1 GB) copied, 4.96762 seconds, 432 MB/s

real    0m4.969s
user    0m0.046s
sys 0m0.720s

(Die Dateigröße bs * countsollte das Doppelte des Arbeitsspeichers betragen.)

oder schauen Sie sich einige Benchmark-Tools an: Bonnie ++ , IOzone , zum Beispiel:

# bonnie++ -d /mnt/nfs/bonnie/ -s 2048 -r 1024 -u 0
Using uid:0, gid:0.
Writing a byte at a time...done
Writing intelligently...done
Rewriting...done
Reading a byte at a time...done
Reading intelligently...done
start 'em...done...done...done...done...done...
Create files in sequential order...done.
Stat files in sequential order...done.
Delete files in sequential order...done.
Create files in random order...done.
Stat files in random order...done.
Delete files in random order...done.
Version  1.96       ------Sequential Output------ --Sequential Input- --Random-
Concurrency   1     -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
svr201NTC-647.lo 2G  1473  96 46620   3 48033   4  1785  99 3525478 100 +++++ +++
Latency              8647us      86us     268us    5064us      66us   23566us
Version  1.96       ------Sequential Create------ --------Random Create--------
svr201NTC-647.local -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
                 16   580   2  5742  13   429   2   423   1  7540  12   392   1
Latency               244ms   22747us    4549ms    3849ms    1641us     999ms
1.96,1.96,svr201NTC-647.localdomain,1,1319514624,2G,,1473,96,46620,3,48033,4,1785,99,3525478,100,+++++,+++,16,,,,,580,2,5742,13,429,2,423,1,7540,12,392,1,8647us,86us,268us,5064us,66us,23566us,244ms,22747us,4549ms,3849ms,1641us,999ms

# iozone -aRcU /mnt/nfs/ -f /mnt/nfs/testfile > logfile

Weitere Details: http://nfs.sourceforge.net/nfs-howto/ar01s05.html

Könnte diese Technik zu Vergleichszwecken auch auf die lokale Festplatte angewendet werden?

Sicher, Sie können es verwenden, um die lokale Festplatte für den Vergleich zu vergleichen.

Quanten
quelle
3
Können Sie erklären, warum die Dateigröße = bs * doppelt so groß sein sollte wie der Arbeitsspeicher?
user1031431
-4

Vielleicht kann es nützlich sein: http://www.alfaexploit.com/ficheros_web/leer.php?id=161

Unter dem obigen Link finden Sie ein nützliches Skript, das Dateien zwischen 1 und 4 MB generiert. Auf diese Weise kann die Lese- / Schreibgeschwindigkeit überprüft werden.

Kr0m
quelle
Ich habe mit "Sieht OK aus" gestimmt, weil er sich auf ein externes Skript und nicht auf externe Informationen bezieht.
Peterh sagt wieder Monica
Dead Link und eine Antwort nur für Links.
Xan