web-dev-qa-db-ja.com

配列を展開した後、Linux転送rtatesのzfsが正しく報告されないのはなぜですか?

NASサーバーの4ドライブRaidzアレイのドライブをアップグレードしましたが、アレイは新しいサイズに自動拡張されました。NAS =サーバー大規模な読み取り転送を実行すると、パフォーマンスが低下し、10MB /秒を超えるのに苦労しますが、iotopおよびzpooliostatは500MB /秒までの非常に高い数値を報告できます。この奇妙な動作の原因は何でしょうか。アレイをアップグレードしていると、オンラインのデバイスが4つある場合でも、3つに劣化している場合でも、同じように動作することがわかります。

サーバーは単一のギガビットネットワーク接続で接続されており、ext4を使用して単一のドライブでサーバーを飽和させることができます

3
barrymac

キャッシュ設定を試していたので、プライマリキャッシュをオフのままにしておくと、実際のIOは論理IOによる

[アプリケーション]はファイルを読み取り、4k(ページサイズ?)のデータを取得して処理し、次の4kなどを読み取ります。

ただし、ZFSは4kだけを読み取ることはできません。デフォルトでは128k(レコードサイズ)を読み取ります。キャッシュがない(オフにしている)ため、残りのデータは破棄されます。

128k/4k = 32

32 x 2.44GB = 78.08GB

から FreeBSDフォーラム

1
barrymac