Изменения

Производительность Ceph

10 байтов добавлено, 20:58, 8 августа 2018
м
Нет описания правки
Сначала прогоните fio на голом диске:
* Линейное чтение: {{Cmd|1=fio -ioengine=libaio -direct=1 -invalidate=1 -name=test -bs=4M -iodepth=16 -rw=read -runtime=60 -filename=/dev/sdX}}* Линейная запись: {{Cmd|1=fio -ioengine=libaio -fdatasync=1 -direct=1 -invalidate=1 -name=test -bs=4M -iodepth=16 -rw=write -runtime=60 -filename=/dev/sdX}}* IOPS-ы случайной записи: {{Cmd|1=fio -ioengine=libaio -fdatasync=1 -direct=1 -invalidate=1 -name=test -bs=4k -iodepth=16 -rw=randwrite -runtime=60 -filename=/dev/sdX}}
"А почему так мало..." - см.ниже.
После сборки Ceph можно тестировать так:
* IOPS через rados bench в режиме, соответствующем RBD (4 Кб блоки в 4 Мб объектах) и 16 одновременно запущенных виртуалок:<br /> {{Cmd|1=rados bench -p ваш_пул -t 16 -b 4096 -o $((4096*1024)) 60 write}}
* Цифру 16 можно менять, скажем, от 1 до 128 (1 - 4 - 16 - 64 - 128), чтобы понять, как меняются IOPS-ы при разной степени параллелизма
* Тем же самым fio через ioengine=rbd (здесь fdatasync не нужен): {{Cmd|1=fio -ioengine=rbd -direct=1 -invalidate=1 -name=test -bs=4k -iodepth=16 -rw=randwrite -pool=rpool_hdd -runtime=60 -rbdname=testimg}}
* В несколько потоков - добавить к fio опцию `-jobs=N`
* Можно тестировать и fio изнутри виртуалки, НО в этом случае помните, что параллельной нагрузки она не создаст - qemu rbd драйвер работает в один поток. Соответственно вы, скорее всего, не увидите 100% утилизации дисков на хостах.