私たちは比較的大きな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