Eu tenho o mesmo problema. Meu disco IO ainda ignorar por bcache. Depois de definir congested_read_threshold_us e congested_write_threshold_us após a documentação do bcache. Meu problema está resolvido.
- Traffic's still going to the spindle/still getting cache misses
In the real world, SSDs don't always keep up with disks - particularly with
slower SSDs, many disks being cached by one SSD, or mostly sequential IO. So
you want to avoid being bottlenecked by the SSD and having it slow everything
down.
To avoid that bcache tracks latency to the cache device, and gradually
throttles traffic if the latency exceeds a threshold (it does this by
cranking down the sequential bypass).
You can disable this if you need to by setting the thresholds to 0:
# echo 0 > /sys/fs/bcache/<cache set>/congested_read_threshold_us
# echo 0 > /sys/fs/bcache/<cache set>/congested_write_threshold_us
The default is 2000 us (2 milliseconds) for reads, and 20000 for writes.
Todos os discos IO são enviados para o meu SSD (sde) agora.
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sdb 0.00 0.00 0.00 0.30 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sdd 0.00 0.00 0.10 0.30 0.80 0.00 4.00 0.00 3.00 12.00 0.00 3.00 0.12
sdc 0.00 0.00 2.20 0.30 26.00 0.00 20.80 0.00 1.76 2.00 0.00 1.76 0.44
sda 0.00 0.00 0.20 0.20 0.80 0.00 4.00 0.01 8.00 16.00 0.00 13.00 0.52
sde 0.00 293.20 81.70 232.70 1129.20 58220.00 377.54 6.62 21.05 27.69 18.71 3.18 100.00
md1 0.00 0.00 2.50 0.30 27.60 0.00 19.71 0.00 0.00 0.00 0.00 0.00 0.00
md0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
bcache0 0.00 0.00 83.00 402.40 1156.80 28994.80 124.23 15.36 31.70 27.02 32.67 2.06 99.92