Изменения

Перейти к: навигация, поиск

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

1024 байта добавлено, 17:39, 4 октября 2019
Нет описания правки
* Ещё можно отключить все mitigation-ы аппаратных уязвимостей: noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier
== Настройка виртуалок и ФС ==
* С дефолтными опциями qemu подключает RBD, увы, криво
* Однако RBD cache сам по себе вносит небольшое торможение, заметное в случае SSD. Что-то там сделано с блокировками, что-то там однопоточное, всё это оптимизируют, но пока не оптимизировали.
* Есть следующие способы эмуляции дисков: lsi (самый медленный), virtio-scsi (достаточно быстрый), virtio (самый быстрый, но до QEMU 4.0 не умеет TRIM). Вообще virtio-scsi умеет multiqueue и поэтому на быстром хранилище должен быть быстрее virtio — но в случае с Ceph multiqueue, по-видимому, значения не имеет.
* А ещё тормозит файловая система! Конкретно, если у вас не включена опция lazytime, то при каждой мелкой записи ФС обновляет mtime, то есть время модификации inode-а. Так как это метаданные, а ФС журналируемые — это изменение журналируется. Из-за этого при тесте <tt>fio -sync=1 -iodepth=1 -direct=1</tt> поверх ФС без lazytime iops-ы уменьшаются в 3-4 раза.
Поэтому:
* Для SSD-only лучше выключать кэш вообще (cache=none), максимальные параллельные iops на запись от этой процедуры растут с примерно 11000 до ~25000.
* Лучше всего использовать драйвер virtio. Как всё это настраивается в вашем GUI виртуалок (Proxmox, Opennebula) — отдельная песня :) в опеннебуле сделано довольно-таки через жопу.
* Обязательно используйте опцию монтирования lazytime. Для неё нужны свежие ядра: с ext4 — хотя бы 4.0, с XFS — хотя бы 4.17. Также нужны соответствующие (свежие) util-linux (подсказка: в протухшей 7-й центоси их нет, поставить можно только из исходников).
== Оценка производительности кластера ==

Навигация