> From: Victor Sudakov <Victor.Sudakov@f49.n5005.z2.fidonet.org> > Date: Tue, 20 Oct 2015 11:58:06 +0300 > > VS>> Хотя интересно, почему удаление-то тормозит при заполнении пула. > VS>> Операции, которые делаются через CoW, понятно почему тормозят, а > VS>> при удалении там тоже, что ли, что-то куда-то копируется? > AK> метаинформация - разумеется, > >Тогда если log вынести на отдельное устройство, будет легче? В смысле, >отдельный log device должен получиться поменьше и подешевле, чем 10% от >многотерабайтного пула.
Log (в смысле, ZIL) - он вообще write-only, как я понял из описания. То есть если нет задачи гарантировать свежесть данных после внезапной перезагрузки, то в качестве лога вполне успешно (и очень быстро) работает /dev/null (ну, то есть, sync=disabled logbias=throughput).
> AK> плюс, там, насколько я помню, хитрая > AK> древовидная структура, требующая перебалансировки каждый раз. > >Это хуже. Hо я надеюсь, это может делаться в фоне?
Hе может: у диска головка одна (да даже если и несколько, то в современных дисках они работают строго по очереди), так что все операции происходят последовательно, и следующая не может начаться, пока не закончилась предыдущая. Даже всякие якобы железные background smartы на самом деле могут работать только в промежутках между занятостью диска исполнением команд операционной системы.
То есть перебалансироваться без ожидания дисковых операций чтения могут только те деревья, которые целиком сидят в кэше.