Случилось мне на днях позаимствовать 8 терабайт винтов, чего как раз хватило на полный бэкап файлопомойки. Ну и решил я попробовать bcache - потому как тормоза при дампе кэша торрент-клиента изрядно надоели.
Изначально планировалось оставить имеющийся raid6, на него bcache, дальше dm-crypt, затем lvm, и туда уже ФС. Беглые тесты показали, что процессор dm-crypt не тянет (меньше 300мб/с записи, тогда как без него - чуть больше 600мб/с), в результате от шифрования решено было пока отказаться и попробовать собственно bcache.
Для тестов отказался от lvm и накатил ext4 сразу на bcache, скопировал данные, запустил живую нагрузку (5тб торрентов на 365-мбитном канале) и стал ждать. Сперва всё было очень хреново - iowait взлетел с 10-20% до 50+, скорость раздачи упала в 2 раза, тормоза в момент дампа сменились постоянными тормозами - скоростей порядка 3МБ/с я не видел уже очень давно.
Погоревал, да оставил - пусть греется. Грелось оно долго - уже прошли сутки, а из 215 гигов bcache занял всего 187.
А сейчас смотрю и не понимаю нихрена. Кэш уже почти полный, чтение с ssd я вижу, hit ratio - около 40%, что в целом неплохо для такого количества торрентов, вот только iowait упал с 50+ до 20-50 и на ssd нагрузка нет-нет, да бывает 100%. При этом если заполнение кэша отключить (cache_state none), то iowait моментально приходит в норму.
Это ssd такой убогий, или я у bcache не включил что-то очень важное?