[frenzy] Производительность сжатой FS
Провел небольшое тестирование производительности сжатой
файловой системы, используемой во Frenzy.
Дано: исошник с файловой системой, размер 110 мегабайт.
Было сделано 5 различных сжатых образов с разным размером кластера.
Первый тест выполнялся с помощью команды cp -R, файлы читались
в том порядке, в каком они расположены на диске. Второй тест был
посложнее, с помощью find был составлен список файлов, затем
отсортирован по размеру и эти файлы копировались в таком порядке
(произвольный доступ к диску).
Результаты:
----------+---------+-----------+-----------+
Размер | Степень | последов. | произв. |
кластера | сжатия | доступ | доступ |
----------+---------+-----------+-----------+
130560 | 60% | 0:51 | 1:34 |
65536 | 59% | 0:37 | 1:16 |
32768 | 58% | 0:38 | 1:06 |
16384 | 57% | 0:39 | 1:00 |
8192 | 56% | 0:46 | 0:58 |
----------+---------+-----------+-----------+
1% в случае с полноразмерной Frenzy составит около 2 мегабайт.
В общем, лучшим размером для кластера можно считать 32768 байт,
при увеличении размера всего на 2% (4 мегабайта) мы получаем
прирост производительности на 20-25%.
Повторное тестирование, но уже на 900-меговом исошнике
(после сжатия получалось порядка 330-370 мег), так что
полученные данные более приближены к действительности...
Результаты:
----------+-----------+-----------+-----------+
Размер | Степень | последов. | произв. |
кластера | сжатия | доступ | доступ |
----------+-----------+-----------+-----------+
130560 | 64.4% | 3:56 | 18:03 |
65536 | 64.0% | 3:43 | 15:12 |
32768 | 63.2% | 3:36 | 13:50 |
16384 | 62.0% | 3:49 | 12:46 |
8192 | 60.4% | 4:21 | 13:03 |
----------+-----------+-----------+-----------+
В общем, научным путем :) было установлено, что оптимальный
размер кластера для сжатой файловой системы - 32768 байт.
Klaus Knopper, автор оригинального cloop, упоминал о том,
что сортировка файлов при сборке исошника тоже влияет
на скорость загрузки и работы. С этим тоже нужно будет
поэкспериментировать...