特定の断続的なバグは、ディスクの読み取り速度が遅い場合にのみ現れる可能性があると思います。トラブルシューティングは、確実に再現できないため困難です。
単に優先順位の高いプロセスでIOをゴブリングする以外に、低速のハードドライブがあることをシミュレートする方法はありますか?
man hdparm
多分-Xオプションを見てください。ドライブの速度を落とすために使用できるものはかなりありますが、それらのいくつかはデータに厄介なことをする危険があります!
特定の断続的なバグは、ディスクの読み取り速度が遅い場合にのみ現れる可能性があると思います。トラブルシューティングは、確実に再現できないため困難です。
単に優先順位の高いプロセスでIOをゴブリングする以外に、低速のハードドライブがあることをシミュレートする方法はありますか?
man hdparm
多分-Xオプションを見てください。ドライブの速度を落とすために使用できるものはかなりありますが、それらのいくつかはデータに厄介なことをする危険があります!
回答:
使用NBD、その後、ネットワークブロックデバイス、及び発言権を使用して、それへのアクセスを制限評価trickle
。
sudo apt-get install nbd-client nbd-server trickle
#echo 1> / proc / sys / vm / drop_caches
遅くなります:)
キャッシュされたページを利用する代わりに、ディスクからの読み取りを強制します。
本当に洗練されたい場合は、scsiフォールトインジェクションフレームワークを使用して、n回ごとに読み取りエラーを偽装するようなことを行うことができます。
これは決して完全な解決策ではありませんが、他の手段と併用すると役立つ場合があります。プロセススケジューラによく似たI / Oスケジューラがあり、微調整できます。
最も注目すべきは、実際に異なるスケジューラーから選択できることです。
~# cat /sys/block/sda/queue/scheduler
noop anticipatory deadline [cfq]
~# echo "deadline" > /sys/block/sda/queue/scheduler
~# cat /sys/block/sda/queue/scheduler
noop anticipatory [deadline] cfq
~#
deadline
より強く再現可能な結果を得るのに役立ちます。
noop
、その名前が示すように、めちゃくちゃばかげており、ほとんど労力をかけずにI / Oパフォーマンスに絶対的な混乱をもたらすことができます。
anticipatory
そしてcfq
それについてスマートにするために、両方の試みは、しかしcfq
、一般的に2のよりスマートです。(私が思い出すように、anticipatory
実際にはカーネルが複数のスケジューラーのサポートを開始する直前のレガシースケジューラーです。)
仮想マシンを使用してディスクアクセスを制限することができます...ここでは、Virtualbox 5.8でそれを行う方法に関するヒントを示します。ディスクイメージの帯域幅の制限https://www.virtualbox.org/manual/ch05.html#storage-bandwidth-limit
UbuntuインストールCDのisoなどの大きなファイルのコピーを実行して、2回実行することができます。それはあなたのドライブをかなり遅くするはずです。
ハードドライブ自体の速度を落とそうとするのとは別に、大量のディスクI / Oを引き起こす可能性のあるbonnie ++などのファイルシステムベンチマークツールを使用することもできます。
sudo apt-get install bonnie++
どうmake -j64
?新しい200行のパフォーマンスパッチを説明する記事でmake -j64
は、多くのコンピューターリソースを消費するタスクでした
私は最近、私が持っているセットアップを見つけました
google-drive-ocamlfuse
場合は、待ち時間16秒遅い十分ではありません、あなたは自分のルータを外してくださいすることができます。
参考のために、ここに元のユースケースがありますが、ここでアイデアを得ました:https : //github.com/goavki/apertium-apy/pull/76#issuecomment-355007128