edward6 / reiser4

The upstream Reiser4
87 stars 8 forks source link

Очень низкий iops в ioping #14

Closed daemonserj closed 1 year ago

daemonserj commented 1 year ago

Сервер hp dl380g8 , контроллер p420i, LUN 1+0 из 6 hdd 15K дисков. Результаты ioping для ext4 Монтируется с noatime

ioping -R -q -w 30 -s 8k -W /storage/

--- /storage/ (ext4 /dev/sda4 1.56 TiB) ioping statistics --- 477.2 k requests completed in 25.8 s, 3.64 GiB written, 18.5 k iops, 144.5 MiB/s generated 477.2 k requests in 30.0 s, 3.64 GiB, 15.9 k iops, 124.3 MiB/s min/avg/max/mdev = 43.2 us / 54.1 us / 2.28 ms / 41.1 us

ioping -R -q -w 30 -s 8k /storage/

--- /storage/ (ext4 /dev/sda4 1.56 TiB) ioping statistics --- 723.0 k requests completed in 26.9 s, 5.52 GiB read, 26.9 k iops, 210.1 MiB/s generated 723.0 k requests in 30.0 s, 5.52 GiB, 24.1 k iops, 188.3 MiB/s min/avg/max/mdev = 30.3 us / 37.2 us / 2.28 ms / 9.73 us

Reiser4 , профиль дефолт, сжатие zstd1 Монтируется как mount /dev/sda4 -t reiser4 -o txmod=journal,noatime,onerror=remount-ro,dont_load_bitmap /storage/

Результаты для reiser4 ioping -R -q -w 30 -s 8k -W /storage/

--- /storage/ (reiser4 /dev/sda4 1.51 TiB) ioping statistics --- 69.9 k requests completed in 29.0 s, 546.2 MiB written, 2.41 k iops, 18.8 MiB/s generated 69.9 k requests in 30.0 s, 546.2 MiB, 2.33 k iops, 18.2 MiB/s min/avg/max/mdev = 342.0 us / 415.5 us / 2.59 ms / 53.4 us

ioping -R -q -w 30 -s 8k /storage/
--- /storage/ (reiser4 /dev/sda4 1.51 TiB) ioping statistics --- 451.1 k requests completed in 26.9 s, 3.44 GiB read, 16.8 k iops, 131.0 MiB/s generated 451.1 k requests in 30.0 s, 3.44 GiB, 15.0 k iops, 117.5 MiB/s min/avg/max/mdev = 53.4 us / 59.6 us / 2.41 ms / 14.9 us

Также форматировал с плагином reg40 без сжатия, пробовал монтировать с разным txmod - результат в пределах погрешности. Проверил на двух ядрах - на 5.10.2 и на последнем 5.16

Чем можно объяснить такие результаты?

daemonserj commented 1 year ago

Ядра были скомпилированы с CONFIG_REISER4_DEBUG.

Скомпилировал без дебага:

ioping -R -q -w 30 -s 8k /storage/

--- /storage/ (reiser4 /dev/sda4 1.51 TiB) ioping statistics --- 470.2 k requests completed in 26.1 s, 3.59 GiB read, 18.0 k iops, 140.9 MiB/s generated 470.2 k requests in 30.0 s, 3.59 GiB, 15.7 k iops, 122.4 MiB/s min/avg/max/mdev = 33.8 us / 55.4 us / 2.32 ms / 15.7 us

ioping -R -q -w 30 -s 8k -W /storage/

--- /storage/ (reiser4 /dev/sda4 1.51 TiB) ioping statistics --- 112.0 k requests completed in 28.4 s, 874.7 MiB written, 3.94 k iops, 30.8 MiB/s generated 112.0 k requests in 30.0 s, 874.7 MiB, 3.73 k iops, 29.2 MiB/s min/avg/max/mdev = 172.2 us / 254.0 us / 2.62 ms / 47.4 us

edward6 commented 1 year ago

Высокие накладные расходы на поддержание двух кэшей (один со сжатыми данными, другой с распакованными), затраты на сжатие и плотную упаковку уже сжатых данных (помимо сжатия алгоритмами ещё беспокоимся и о том, чтобы усилия первых не были съедены внутренней фрагментацией).