Gibt es einen Unterschied zwischen der Suchzeit für Lese- und Schreibanforderungen?
Ich habe versucht, die Suchzeit zu testen, indem ich gemessen habe, wie lange es dauert, bis zwei Anforderungen vorliegen, eine am Anfang und eine am Ende der Festplatte (daher sollten sie sich in den verschiedenen Zylindern befinden). Beim Schreiben dauert es im Vergleich zum Lesen viel länger, bis die Abfolge der Anforderungen abgeschlossen ist. Liegt es daran, dass die Suchzeit für das Schreiben länger ist? Oder liegt es an einem anderen Faktor, zB der Übertragungszeit?
Hier füge ich eine Latenz beim Schreiben pro Lesen hinzu, um Daten zu sortieren. Wie zu sehen ist, beträgt die Schreibverzögerung bei einer kleinen Anforderungsgröße (die Übertragungszeit sollte klein sein und die Zeit für die Festplattensuche wird sich stärker auf die io-Zeit auswirken) fast das 300-fache der Leselatenz.
Vielen Dank
quelle
Antworten:
Die Frage ist etwas weit und unklar. Ich kenne dieses von Ihnen erwähnte „fio“ -Tool nicht und ein kurzer Blick auf die Webseite ergab keine Details zur Funktionsweise (dh was ist es?).
Aber wie ich in meinem ersten Absatz sagte, weiß ich nicht, was „fio“ misst. Ich weiß nicht, wie ein Programm die tatsächliche Suchzeit ohne Kernel-Tests messen kann. Möglicherweise wird die Zeit für eine E / A-Operation auf API-Ebene gemessen.
Auf Betriebssystem- / Dateisystemebene
Ein schreiben
und es wird wahrscheinlich nicht möglich sein, diese Aktivitäten aufzuschieben.
quelle
IMHO gibt es nur eine Suchzeit :
quelle