Изменения

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

30 байтов добавлено, 16:15, 7 марта 2019
Нет описания правки
== Картина маслом «Тормозящий кэш» ==
Дано: 3 компа с 3x 4x 7200rpm SATA HDD (в одном 4x HDD, но не суть важно), с 1 SSD (десктопным) под систему и ceph-mon и с 1 SSD (старым, но серверным, 25000 iops) под журналы. Не самая быстрая 10-гигабитная сеть — флуд пингом средний RTT (задержка) 0.098ms. Развёрнут Ceph + OpenNebula с KVM. Диски под Ceph отформатированы в Bluestore утилитой ceph-volume (то есть используется LVM). Диски виртуалок лежат в обычном реплицированном ceph pool с size=3.
Создаём Debian-виртуалку (настройки диска kvm по умолчанию — bus=virtio, cache=none), ставим fio, запускаем в ней тест на задержку транзакционной случайной записи: {{cmd|1=fio -ioengine=libaio -size=10G -sync=1 -direct=1 -name=test -bs=4k -iodepth=1 -rw=randwrite -runtime=60 -filename=./testfile}} (или можно не случайной, тогда rw=write, но результат идентичный).
Виртуалку, в которой тестировал — даже не перезапускал между тестами.
<s>{{Note}} Мораль: отключайте кэш записи всем устройствам</s>дискам!
'''РазгадкаЧастичная разгадка:''' в  # <s>В жёстких дисках HGST есть Media Cache — Cache</s> (энергонезависимый кэш случайной записи прямо на пластинах) — во-первых, там не HGST, во-вторых, в HGST медиакэш включён всегда и не зависит от hdparm -W 0. Включается # В жёстких дисках Seagate Enterprise Capacity ST8000NM0055 (коих из общего числа 3) есть встроенный SSD-кэш. И вот он , видимо, действительно включается только при отключении обычного энергозависимого кэшаhdparm -W 0. А блюстор при сбросе отложенной записи на диск # Блюстор блокирует последующие операциизапись в журнал записью на HDD. Но сбрасывает он их всего лишь по 32 штуки, это очень мало, поэтому блокирует последующие операции он постоянноКогда включен спец. Следовательно, когда включается медиакэшкэш, HDD начинает рандомно писать сильно быстрее, и вот эти вот блокировки при сбросе уходят. Действует медиакэшкэш, естественно, временно — когда он кончится, производительность случайной записи опять упадёт. Однако плюс в том, что в Ceph-е этого, скорее всего, не произойдёт, так как скорость случайной записи ограничивается, собственно, самим Ceph-ом и распределяется по всем дискам кластера :). Другие производители эту технику# Однако, кстати, уже для обычных дисков без SSD-кэша отключение кэша тоже перенялидаёт выигрыш… есть гипотеза, что из-за того же тормоза с bluefs (проверю).
=== Данные тестов ===
<tab sep="bar" class="wikitable" head="topleft">
Номер OSD | Кэш выкл | Кэш вкл | Модель диска | Номер модели
osd.0 | 308 | 226 | Seagate Constellation ES.2 | ST32000645NSosd.1 | 325 | 234 | Hitachi Ultrastar 7K3000 | HUA723020ALA640osd.2 | 1392 | 230 | Seagate Enterprise Capacity | ST8000NM0055osd.4 | 244 | 140 | Hitachi Ultrastar A7K2000 | HUA722020ALA330osd.5 | 185 | 154 | Hitachi Ultrastar A7K2000 | HUA722020ALA330osd.7 | 1129 | 253 | Seagate Enterprise Capacity | ST8000NM0055osd.9 | 315 | 184 | Hitachi Ultrastar 7K3000 | HUA723020ALA640osd.13 | 212 | 142 | Hitachi Ultrastar A7K2000 | HUA722020ALA330osd.3 | 386 | 241 | Hitachi Ultrastar 7K3000 | HUA723020ALA640osd.8 | 323 | 156 | Hitachi Ultrastar A7K2000 | HUA722020ALA330
osd.10 | 1319 | 273 | Seagate Enterprise Capacity | ST8000NM0055
osd.14 | 229 | 135 | Hitachi Ultrastar A7K2000 | HUA722020ALA330
</tab>