Bcacheが活用されず、RAID/転送速度が遅い

Bcacheが活用されず、RAID/転送速度が遅い

Ubuntu ServerでBcacheを使用して42TB RAIDでキャッシュとして使用される512GB SSDがあります。

パフォーマンスをテストするために、大小のすべてのファイルを含むゲームを転送しました。ファイルをサーバーに転送すると、速度は70 MB / sに制限され、ハードドライブアレイに直接書き込まれることがわかりました。

サーバーからコンピュータにファイルを転送すると、速度は200 MB / sに達しますが、しばしば遅くなります。

ファイル転送にはNFS-Kernel-Serverサービスを利用しています。

/sys/fs/bcache/UUID/cache0/priority_stats shows the cache as not being used at all:
Unused:         99%
Clean:          0%
Dirty:          0%
Metadata:       0%
Average:        0
Sectors per Q:  258144
Quantiles:      [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 2 2]

LSblk shows that all the hard drives and ssds are set up as the bcache:

sda                         8:0    0  14.6T  0 disk
└─md0                       9:0    0  43.7T  0 raid0
  └─bcache0               252:0    0  43.7T  0 disk  /export/raid
                                                     /mnt/raid
sdb                         8:16   0  14.6T  0 disk
└─md0                       9:0    0  43.7T  0 raid0
  └─bcache0               252:0    0  43.7T  0 disk  /export/raid
                                                     /mnt/raid
sdc                         8:32   0  14.6T  0 disk
└─md0                       9:0    0  43.7T  0 raid0
  └─bcache0               252:0    0  43.7T  0 disk  /export/raid
                                                     /mnt/raid
nvme1n1                   259:0    0 465.8G  0 disk
└─bcache0                 252:0    0  43.7T  0 disk  /export/raid
                                                     /mnt/raid

Webminは、転送中のCPU使用率が約30%であることを示します。これは、速度がハードドライブによって制限されることを示します。

tail /sys/block/bcache0/bcache/stats_total/*このコマンドを実行すると、その特定のドライブに関する統計が表示されることがわかりました。

 sudo tail /sys/block/bcache0/bcache/stats_total/*

==> /sys/block/bcache0/bcache/stats_total/bypassed <==
6.5G

==> /sys/block/bcache0/bcache/stats_total/cache_bypass_hits <==
36

==> /sys/block/bcache0/bcache/stats_total/cache_bypass_misses <==
14982

==> /sys/block/bcache0/bcache/stats_total/cache_hit_ratio <==
97

==> /sys/block/bcache0/bcache/stats_total/cache_hits <==
46057

==> /sys/block/bcache0/bcache/stats_total/cache_miss_collisions <==
0

==> /sys/block/bcache0/bcache/stats_total/cache_misses <==
1068

私はこのガイドに従いました。

https://www.kernel.org/doc/html/latest/admin-guide/bcache.html

ドライブとSSDをキャッシュとしてサポートするRAIDを設定しました。 SSDをRAID用キャッシュとして正常に登録し、書き込み保存モードを有効にしました。

キャッシュドライブが利用されていないことがわかりました。

有効にする必要がある他の設定はありますか?それとも、このキャッシュドライブの機能をテストする別の方法はありますか?

私は妻の研究のためにこのシステムをセットアップしており、妻がサーバーをネットワークドライブとして使用できることを願っています。

キャッシュを扱うときに適切な速度を体験できるように、キャッシュが正しく機能していることを願っています。

ベストアンサー1

sequential_cutoff書き込み速度を固定するように設定された設定です。デフォルト値sequential_cutoffは4Mbです。つまり、4Mbを超えるすべての項目はハードドライブに直接書き込まれます。

2048Mbと4096Mbを試してみましたが、実際の変化はありませんでした。 0に変更すると、最大200Mbpsの書き込み速度が可能になります。

このサーバーがどのデータに使用されるかがわかったら、最適な数を絞り込むこともできます。

コマンドは

echo 0 > /sys/block/bcache0/bcache/sequential_cutoff 

これはbcacheの設定に役立つリソース

おすすめ記事