Спорили мы тут по поводу нужна или нет дефрагментация в ext3
в итоге написан вот такой скрипт: http://www.copypastecode.com/8361/?view=lines
делает три алгоритма записи:
1. записывает N файлов по M килобайт в указанное место обычным способом "открыли - записали М килобайт - закрыли"
2. записывает N файлов по M килобайт способом "открыли файл 1, записали 1Кб, закрыли файл 1, открыли файл 2..."
3. записывает N файлов по M килобайт способом "открыли N файлов, записали 1Кбв в файл 1, 1Кб в файл 2..."
далее на записанный пул файлов натравливаем tar -c и замеряем время.
результаты интересные (100 файлов по 100 мегабайт):
первый вариант: 1,36s user 7,72s system 5% cpu 2:58,08 total
второй вариант: 1,31s user 7,86s system 0% cpu 44:24,93 total
третий вариант: 1,31s user 7,38s system 4% cpu 3:28,47 total
видно, что второй случай самый фрагментированный, задержка в 15 раз, однако он самый невероятный. Третий случай - типичный случай с логами, однако, как видно замедление работы в пределах 15% всего.
то есть вывод что дефрагментатор в общем-то не нужен верный.
кто что думает?