テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

(writeboost report) なぜwriteback_threshold"だけ"で良いのか?

ライトブーストは, HDDへのIOがあまりにヘビーな時は, ライトバックを抑制する.

writeback_thresholdはこの閾値(%)を決める. ライトとリード負荷の合計がこの閾値を超えると, ライトバックデーモンは1秒停止して, また起きた時に負荷を再計算し, ライトバックするかどうかを決める.

この, ライトとリードをごっちゃにして考える方法には異論もあるだろう. 実際, ステファンから異論が入った.

しかしここで明らかにしたいことは, この, 合算した負荷と閾値を比較するという方式が, すべての異論を黙らせることが出来るということだ.

前提として, ユーザはライトブーストを使っている. これはすなわち, もともとライトが負荷の主犯だったということである. よって, 合計負荷は少なくとも, 「今ライトを止めることがどれほど得か」ということを近似的に表していることにはなる.

そもそも, ストレージを直接的な方法で性能制御しようとすることは理に叶わない. あちらを立てればこちらが立たずになるのが典型である. 例えば, リードを速くすると言ってリードキャッシングをしても, 現実的にはあまり意味はないのだ. 極端な例でやれば効果も出るだろうが, 私はそんなオナニーには付き合いたくない. 同様に, ライトバック抑制においても, 直接的に攻めるのではなく, 間接的にぼんやりと攻めるのが良い.

囲碁棋士は, 相手の石を直接とりにいくことが往々にして理に叶わず, むしろ, ぼんやりと攻めて活きを強要し, 他の場所で得をするという戦略をとることが大抵は良いことを知っている. ストレージも同じである.