FreeBSD 13-STABLE で CPU が 100% 使われると nfsd の性能が落ちる2022年03月08日 13時06分45秒

FreeBSD 13.1-RELEASE の準備がはじまり今週中にでも releng/13.1 が切られる予定になっている。そこで、手元の環境を 13-STABLE にし、テスト中。

インストールした後などに、機械間の同期を行う。USB 接続の外付けハードディスクを使ったり、NFS や ggate を使ったり等、方法は気まま。

今回、STABLE-13 で nfs の性能の劣化が見付かった。amd64 を利用。CPU が 100% になると、nfsd の通信速度が十分の一ぐらいまで落ちる。

少し分かりづらいので、もう少し具体的に。今回、利用中のサーバは 4 コア。amd64 版と i386 版を準備している。buildworld を -j4 で行っている最中だと、nfs 上で動かしている rsync が極端に遅くなるのを見付けた。そこで、-j3 で buildworld をやり直す。clang のビルドに入り CPU が三つ使われている間は、性能の劣化はない。ここに、他のプロセスを加えて残りの一つの CPU も使い尽くすと、再度 rsync のネットワークが遅くなった。

再検証のため、同じ動作を 12.3-RELEASE i386 でも実験。こちらは -j4 以上を使っても、nfsd のネットワーク転送速度は落ちない。

13.0-RELEASE ではまだ試していない。

まあ、rsync を早くするだけならば、ssh 越しでもデーモンモードでもやって、ローカルで動かせば速くはなる。

次回最終回

コメント

_ 青木 知明 ― 2022年03月08日 19時21分20秒

似たような性能低下はsmbfsでも起こっていますので、nfs固有ではなくTCP/IPスタックかさらに下回り(netgraphやiflib等)に原因があるかもしれません。

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://uyota.asablo.jp/blog/2022/03/08/9470504/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。