hdd, ssd, ram, raid, и кого на ком кэшировать / Михаил Конюхов...
TRANSCRIPT
Классическая схема• Несколько HDD/SSD• Кабель+контроллер+шина• RAID n• LVM• FS
• Распределенное размещение проблем и багов
• Непрозрачность с уровней
2 схемы «по дефолту»• 5 raid из 3х HDD (7500 rps, по
3 блина, 2ТБ диск)• LVM• Ext4
• 5 raid из 3х ssd (600 / 400 MB/s, 2 ТБ диск)
• LVM• Ext4
2 результата «по дефолту»• ~500-600 IOPS r, ~100 IOPS w.• По факту 100-200Mb/s
линейного чтения
• Много тысяч IOPS rw• По факту 600 MB/s записи
А что такое операция ввода-вывода?• Это запись/чтение одного сектора «по-глупому»• Запись/чтение за один оборот N секторов «по уму»• Запись/чтение batch из N*M секторов «совсем по уму»
Ура! Мы нашли самое важное число!• Допустим, это 6 секторов, и
диски у нас с 4KB физ.секторами
• Значит, 24KB блоки нам удобны более всего
…
Ура! Мы нашли самое важное число!• Допустим, это 6 секторов, и
диски у нас с 4KB физ.секторами
• Значит, 24KB блоки нам удобны более всего
• Блоки RAID – кратно 24 KB• LVM (и pv, и lv) – кратно
размеру блоку RAID…
Ура! Мы нашли самое важное число!• Допустим, это 6 секторов, и
диски у нас с 4KB физ.секторами
• Значит, 24KB блоки нам удобны более всего
• Блоки RAID – кратно 24 KB• LVM (и pv, и lv) – кратно
размеру блока RAID• Размер кластера fs – кратно
блоку RAID
• В итоге за одну операцию ввода-вывода мы можем линейно записать или прочитать 24KB данных за время за которое обычно получаем 512 байт
• А это и есть наша минимальная операция
Кэш FS – случай из жизни• Ufs2, 10k RPS диски в 5 RAID• Все это криво разбито и
почти не имеет кэша• 1200 IOPS на чтение• 140 IOPS на запись• 3000 SELECT в секунду из PG• Достигнут предел по SELECT
• Ext4, 7.5k RPS диски в 5 RAID• Разбито симметрично, кэш
ext4 работает• 0-40 IOPS на чтение• 10-60 IOPS на запись• 3000 SELECT -> 6000 SELECT• Предел будет достигнут
только путем изменения структуры базы
Как кэшировать?HDD + SSD кэш – это как лечить
пневмонию анальгином
Снижайте используемые IOPS – качеством IO, буферами, адекватностью приложения.
Ваши вопросы – здесь и сейчас, в курилке, в скайпе lynx.likes.meat
RoadMap выбора решений для IO живет здесь:
https://perfect-inc.com/hl2016.html