Ich habe die Vermutung, dass ein bestimmter zeitweiliger Fehler nur dann auftritt, wenn eine langsame Lesegeschwindigkeit vorliegt. Die Fehlerbehebung ist schwierig, da ich sie nicht zuverlässig reproduzieren kann.
Gibt es für mich eine Möglichkeit zu simulieren, dass ich eine langsame Festplatte habe, ohne IO einfach mit einem Prozess mit hoher Priorität zu verschlingen?
man hdparm
Vielleicht einen Blick auf die Option -X werfen? Es gibt eine ganze Reihe von Dingen, mit denen Sie Ihre Festplatte verlangsamen könnten, aber einige riskieren, die Daten zu beschädigen!Antworten:
Verwenden Sie nbd , das Netzwerkblockiergerät, und beschränken Sie den Zugriff mit say
trickle
.quelle
Das wird dich verlangsamen :)
Sie werden gezwungen, von der Festplatte zu lesen, anstatt die zwischengespeicherte Seite zu nutzen.
Wenn Sie sich wirklich weiterentwickeln möchten, können Sie mit dem scsi fault injection framework jedes n-te Mal so etwas wie einen Lesefehler vortäuschen.
http://scsifaultinjtst.sourceforge.net/
quelle
Haben Sie einen USB 1.1-Hub? Oder eine langsame SD-Karte? Sie bringen Sie auf unter 10 MBit / s.
quelle
Dies ist keine vollständige Lösung, kann jedoch in Verbindung mit anderen Maßnahmen hilfreich sein: Es gibt einen E / A-Scheduler, der einem Prozess-Scheduler ähnelt, und der kann optimiert werden.
Vor allem können Sie zwischen verschiedenen Schedulern wählen:
deadline
kann Ihnen dabei helfen, besser reproduzierbare Ergebnisse zu erzielen.noop
Wie der Name schon sagt, ist es wahnsinnig dumm und ermöglicht es Ihnen, mit geringem Aufwand die E / A-Leistung zu ruinieren.anticipatory
undcfq
beide versuchen klug zu sein, obwohlcfq
es im Allgemeinen klüger ist. (Soweit ich mich erinnere,anticipatory
handelt es sich tatsächlich um den Legacy-Scheduler von direkt vor dem Start des Kernels, der mehrere Scheduler unterstützt.)quelle
Sie können eine virtuelle Maschine verwenden und den Festplattenzugriff drosseln. Hier finden Sie einige Tipps zur Vorgehensweise in Virtualbox 5.8. Beschränkung der Bandbreite für Festplatten-Images https://www.virtualbox.org/manual/ch05.html#storage-bandwidth-limit
quelle
Sie können versuchen, eine Kopie einer großen Datei, z. B. eine ISO-Datei der Ubuntu-Installations-CD, auszuführen, und diese zweimal ausführen. Das sollte Ihre Fahrt etwas verlangsamen.
quelle
Abgesehen davon, dass Sie versuchen, die Festplatte selbst zu verlangsamen, können Sie auch Dateisystem-Benchmarking-Tools wie bonnie ++ verwenden, die eine Menge Festplatten-E / A verursachen können.
quelle
wie wäre es
make -j64
? In Artikeln, in denen dieser neue 200-Zeilen-Performance-Patch beschrieben wurde,make -j64
wurde eine Menge Computerressourcen verbrauchtquelle
Warum nicht ausführen
iotop
und feststellen, ob der Prozess, den Sie debuggen möchten, viele Lese- / Schreibvorgänge auf der Festplatte verursacht?quelle
Ich habe vor kurzem ein Setup herausgefunden, wo ich habe
google-drive-ocamlfuse
Wenn die Latenz von 16 Sekunden nicht langsam genug ist, können Sie einfach den Router ausstecken.
Als Referenz dient hier der ursprüngliche Anwendungsfall, bei dem mir die Idee dazu gekommen ist: https://github.com/goavki/apertium-apy/pull/76#issuecomment-355007128
quelle