Використання ssd-накопичувачів в якості кеш-пам’яті дискової підсистеми сервера, тім компьютерс
На комп'ютери, сервери і робочі станції ми надаємо безкоштовну трирічну гарантію з обслуговуванням на місці експлуатації (див. Карту меж обслуговування) з виїздом інженера протягом 24 годин з моменту звернення.
Для клієнтів, розташованих в межах МКАД і найближчому Підмосков'ї (не більше 15 км від МКАД), ми забезпечуємо безкоштовну оперативну доставку купленого у нас устаткування засобами власного автопарку.
Додаткові матеріали по темі:
Більшість серверних додатків працюють з дисковою підсистемою сервера в режимі випадкового доступу, коли дані Новомосковскются або записуються невеликими блоками розміром кілька кілобайт, а самі ці блоки можуть розташовуватися в дисковому масиві випадковим чином.
Жорсткі диски мають середній час доступу до довільного блоку даних порядку декількох мілісекунд. Цей час необхідний для позиціонування головки диска над потрібними даними. За одну секунду жорсткий диск може прочитати (або записати) кілька сотень таких блоків. Цей показник відображає продуктивність жорсткого диска на випадкових операціях введення-виведення і вимірюється величиною IOPS (Input Output per Second, операцій введення-виведення в секунду). Тобто продуктивність випадкового доступу для жорсткого диска становить кілька сотень IOPS.
Як правило, в дискової підсистеми сервера кілька жорстких дисків об'єднуються в RAID-масив, в якому вони працюють паралельно. При цьому швидкість операцій випадкового читання для RAID-масиву будь-якого типу зростає пропорційно кількості дисків в масиві, а ось швидкість операцій запису залежить не тільки від кількості дисків, але також і від способу об'єднання дисків в RAID-масив.
Досить часто дискова підсистема є фактором, який обмежує швидкодію сервера. При великій кількості одночасних запитів дискова підсистема може досягти межі своєї продуктивності і збільшення обсягу оперативної пам'яті або частоти процесора не дасть ніякого ефекту.
Радикальним способом збільшення продуктивності дискової підсистеми є використання твердотільних накопичувачів (SSD-накопичувачів), в яких інформація записується в енергонезалежну flash-пам'ять. У SSD-накопичувачів час доступу до довільного блоку даних становить кілька десятків мікросекунд (тобто на два порядки менше, ніж у жорстких дисків), завдяки чому продуктивність навіть одного SSD-накопичувача на випадкових операціях досягає 60'000 IOPS.
На наступних графіках наведені порівняльні показники продуктивності RAID-масивів з 8-ми жорстких дисків і 8-ми SSD-накопичувачів. Наведено дані для чотирьох різних типів RAID-масивів: RAID 0, RAID 1, RAID 5 і RAID 6. Щоб не перевантажувати текст технічними подробицями, інформацію про методику тестування ми помістили в кінці статті.


З діаграм видно, що застосування SSD-накопичувачів підвищує продуктивність дискової підсистеми сервера на операціях довільного доступу від 20 до 40 разів. Однак широкого використання SSD-накопичувачів заважають такі серйозні обмеження.
По-перше, сучасні SSD-накопичувачі мають невелику ємність. Максимальна місткість жорстких дисків (3TB) перевершує максимальну ємність серверних SSD-накопичувачів (300GB) в 10 разів. По-друге, SSD-накопичувачі приблизно в 10 разів дорожче жорстких дисків, якщо порівнювати вартість 1GB дискового простору. Тому побудова дискової підсистеми з одних тільки SSD-накопичувачів в даний час застосовується досить рідко.
Однак можна використовувати SSD-накопичувачі в якості кеш-пам'яті RAID-контролера. Про те, як це працює і що дає, давайте поговоримо докладніше.
Справа в тому, що навіть в досить великий дискової серверної підсистемі ємністю в десятки терабайт обсяг "активних" даних, тобто даних, які використовуються найбільш часто, відносно невеликий. Наприклад, якщо Ви працюєте з базою даних, яка зберігає записи за тривалий період часу, активно використовуватися швидше за все буде тільки невелика частина даних, яка відноситься до поточного часового інтервалу. Або якщо сервер призначений для хостингу Інтернет-ресурсів, велика частина запитів буде ставитися до невеликого числа найбільш відвідуваних сторінок.
Таким чином, якщо ці "активні" (або "гарячі") дані будуть знаходитися не на "повільних" жорстких дисках, а в "швидкій" кеш-пам'яті на SSD-накопичувачах, продуктивність дискової підсистеми зросте на порядок. При цьому Вам не потрібно піклується про те, які дані повинні бути розміщені в кеш-пам'яті. Після того, як в перший раз контролер прочитає дані з жорсткого диска, він залишить ці дані в кеш-пам'яті SSD і повторне читання буде виконуватися вже звідти.
Більш того, кешування працює не тільки при читанні, але і при записі. Будь-яка операція запису буде записувати дані не на жорсткий диск, а в кеш-пам'ять на SSD-накопичувачах, тому операції записи також будуть виконуватися на порядок швидше.
Практично механізм кешування на SSD-накопичувачах може бути реалізований на будь-якому шести-гігабітному RAID-модулі або RAID-контролері Intel другого покоління на базі мікроконтролера LSI2208: RMS25CB040, RMS25CB080, RMT3CB080, RMS25PB040, RMS25PB080, RS25DB080, RS25AB080, RMT3PB080. Ці RAID-модулі і контролери застосовуються в серверах Team на базі процесорів Intel E5-2600 і E5-2400 (платформа Intel Sandy Bridge).
Щоб використовувати режим SSD-кешування, необхідно встановити на RAID-контролер апаратний ключ AXXRPFKSSD2. Крім підтримки SSD-кешування, цей ключ також прискорює роботу контролера з "чистими" SSD-дисками, коли вони використовуються не в якості кеш-пам'яті, а як звичайні накопичувачі. В цьому випадку можна досягти продуктивності на операціях випадкового читання-запису в 465'000 IOPS (режим FastPath I / O).
Давайте подивимося на результати тестування продуктивності все того ж масиву з восьми жорстких дисків, але вже з використанням чотирьох SSD-накопичувачів в якості кеш-пам'яті і порівняємо їх з даними цього масиву без кешування.


Ми виконали тестування для двох варіантів організації SSD-кеш. У першому варіанті 4 SSD-накопичувача були об'єднані в RAID-масив нульового рівня (R0), а по-другому випадку з цих 4-х SSD-накопичувачів був утворений дзеркальний масив (R1). Другий варіант трохи повільніше на операціях запису, зате він забезпечує резервування даних в SSD-кеш, тому краще.
Цікаво, що продуктивність читання і запису практично не залежить від типу "основного" RAID-масиву жорстких дисків, а визначається тільки швидкістю роботи SSD-накопичувачів кеш-пам'яті і типом її RAID-масиву. Більш того, "кешированний" RAID 6 з жорстких дисків на операціях запису виявляється швидше, ніж "чистий" RAID 6 з SSD-накопичувачів (29'300 або 24'900 IOPS проти 15'320 IOPS). Пояснення просте - фактично ми вимірюємо продуктивність не RAID 6, а RAID 0 або RAID 1 кеш-пам'яті, а ці масиви швидше на записи навіть при меншій кількості дисків.
Сподіваємося, що інформація, викладена в даній статті, допоможе Вам у виборі ефективної конфігурації дискової підсистеми сервера. Крім того, необхідну технічну консультацію завжди готові надати наші менеджери та інженери.
Конфігурація тестового стенда і методика тестування
Тестування виконувалося за допомогою програми Intel IO Meter.
Для кожного варіанта апаратної конфігурації вибиралися оптимальні настройки кеш-пам'яті контролера.
Обсяг віртуального диска для тестування - 50GB. Такий обсяг був обраний для того, щоб тестований диск міг повністю поміститься в SSD-кеш.
Інші параметри:
Strip Size - 256KB.
Розмір блоку даних для послідовних операцій - 1MB.
Розмір блоку даних для операцій випадкового доступу - 4 KB.
Глибина черзі - 256.