私たちは比較的大きなZFSプール(raidz3のvdev 23個、生の1PB)を持っています。ヘッドノードには16個のコアと192GBのRAMがあります。プールにはZILがありますが、L2ARCはありません。プールで Solaris 11.3 を実行しています。
プールは一定の1GB / sスループット、20kIOP(最大> 100kIOP)で実行できますが、数日後にパフォーマンスが低下します。
- IOPの減少(
zpool iostat
) - スループットの削減
- zio_read_intr、zio_write_issue、zio_write_issue_highがたくさんあります。
prstat -amL
表示しようとすると、zilstat.sh
どのアクティビティも表示されません。奇妙です。 zpool statusコマンドでプールに接続されているログデバイスを表示できる理由はわかりませんが、表示できませんzilstat.sh
。
また、完全に動作し、ZILが正常に動作するほぼ正確なシステムレプリカを持っています。唯一の違いは、ZILが他のSASコネクタを介してアクセスされることです。 ZILが他のvdevと同じSASチャネルを使用している場合、パフォーマンスは低下すると予想されますが、まったく活動がないわけではありません。
答え1
iostat -sndzx
パフォーマンスの低下の原因に関する洞察を提供しました(私の元の質問に関する@Andrewのコメントを参照)。
プール内のディスクは、asvc_t
150ミリ秒から4,999ミリ秒の間で変動する平均サービス時間(列)を報告し、使用時間の割合は60(%b
列)です。プール内の他のドライブのavsc_t時間は3.3ms、使用率は2%でした。
上記のデータを作成したにもかかわらず、iostat
ドライブzpool status
はまだonline
読み取りまたは書き込みエラーがないと報告されています。
アクティビティが使用されていることがわからない理由は、アクティビティがアクティブになっているzilstat.sh
ためです。 /受信側で非同期書き込みを使用すると、ZILはまったく使用されません。これらのブロックは回転ディスクに直接書き込まれます。zfs send
receive
send
receive
答え2
もしあなたがどんな成果も見ることができないなら、zilstat.sh
私は誤って意図したものを追加したかどうかについて質問します。ジルプール内の他の23個のvdevの別のvdevとして機能します。
zpool status
プールの現在の構成を確認するために出力を提供できますか?プールを作成するときに「ログ」の追加を見逃した人がいる場合ジル期待どおりではありません。