IOを制限するためにLD_PRELOADを使用できますか?

IOを制限するためにLD_PRELOADを使用できますか?

私はややIO集約的なKubernetesクラスタをホストしています。奇妙なことはありません。約1GBのデータをダウンロードしてフォルダに書き込んで、少し編集し、圧縮して/tmp暗号化し、もう一度別の場所にアップロードします。 2時間ごとに実行されます。

数日間、私たちのクラウドプロバイダーのサポート(Aで始まり、Eで終わる名前を持つ大規模なクラウドプロバイダーのサポート)は多くの負荷を生成したため、このタスクで発生したすべてのKubernetesの問題について自分自身を非難しました。そんなことがクーバーネティスで問題を起こすことがあるというのがちょっとおかしいと思って、サポートが素晴らしいとは思わないが、おそらくその言葉が正しいだろう。

だから私はIO負荷を軽減するためのソリューションを探しています。このタスクはIOに縛られています。しかし、ほとんどすべてがこのクラウドプロバイダで実行されるため、実際のお金を投資しない限り、彼らが提供するIOパフォーマンスは非常に低いです。

KubernetesはまだIO制限をサポートしていないようです。したがって、確実な解決策は、タスクをKubernetesまたはクラウドの外部に移動することです。しかし、プロセスが始まり、すぐにはるかに良いパフォーマンスと可用性で、コーヒーマシンの横にある古いラップトップですべてを実行しているように見えます。 。

代わりlibcLD_PRELOAD。検出された速度が既存の大容量ストレージUSB-2スティックが提供できる速度よりも高い場合は、いくつかのnanosleep呼び出しを挿入します。

これが可能だと思いますか?前にこのようなことをした人はいますか?

関連情報