История изменений
Исправление no-dashi-v2, (текущая версия) :
В идеале задачи должны быть по продолжительности на единицы мс (скажем 20МБ)
Посмотри на диск в /sys/block/sd***. Увидишь там всякие max_XYZ - вот оно и будет по сути верхним порогом выше которого нет смысла агрегировать - все равно оно поделит на такие куски.
А вообще, мы у себя по результатпм тестов в свое время пришли к выводу, что нет смысла агрегировать более чем до 512КБ. Да, иопсов получается меньше, но время каждой операции вырастает.
Если уж хочется оптимизаций для борьбы с фрагментацией - есть fallocate который позволяет разом зарезервировать сколько надо места и потом в него писать, для не-CoW файловых систем (читай для всех кроме log-based извращений, ZFS и BTRFS) - то есть для этих вот всяких ext3/4 и xfs, fallocate практически полностью решает проблему фрагментации. Добавил 16MB и пишешь, добрался до конца - еще раз рашсирил и так далее. А в конце транкейтнул до фактического размера данных и готово.
Исходная версия no-dashi-v2, :
В идеале задачи должны быть по продолжительности на единицы мс (скажем 20МБ)
Посмотри на диск в /sys/block/sd***. Увидишь там всякие max_XYZ - вот оно и будет по сути верхним порогом выше которого нет смысла агрегировать - все равно оно поделит на такие куски.
А вообще, по мы у себя по результатпм тестов в свое время пришли к выводу, что нет смысла агрегировать более чем до 512КБ. Да, иопсов получается меньше, но время каждой операции вырастает.
Если уж хочется оптимизаций для борьбы с фрагментацией - есть fallocate который позволяет разом зарезервировать сколько надо места и потом в него писать, для не-CoW файловых систем (читай для всех кроме log-based извращений, ZFS и BTRFS) - то есть для этих вот всяких ext3/4 и xfs, fallocate практически полностью решает проблему фрагментации. Добавил 16MB и пишешь, добрался до конца - еще раз рашсирил и так далее. А в конце транкейтнул до фактического размера данных и готово.