Хостинг на SSD NVME швидких дисках
Раніше ми запустили нові тарифи Wordpress хостингу на дисках SSD NVME, тепер на них запустили VIP хостинг . Розкажемо докладніше, ніж SSD NVME відрізняється від стандартних SSD дисків.
Ми намагаємося застосовувати для хостингу найсучасніші з доступних технологій, які вже є достатньо стабільними для їх щоденного використання. Пригадується як близько 9 років тому у 2010-2011 роках, коли Hitachi та Seagate випустили перші доступні SATA диски на 1000 Гб, доводилося замовляти їх із сусідньої країни та передавати поїздом, тому що в Україні вони ще не продавалися. І після успішних тестів ми почали використовувати їх на хостингу. Серед перших українських хостерів ми також почали використовувати SSD диски для віртуального хостингу, це було у 2015 році. Зараз на ринок вдало вийшли нові SSD NVME диски.
Тож чим відрізняються SSD NVME диски від звичайних SSD?
Перша і найголовніша відмінність – це інтерфейс підключення. Понад 15 років у цій сфері не було кардинальних змін, що застарівають HDD диски, що нові SSD всі вони підключалися через SATA інтерфейс. І якщо з HDD дисками це не було великою проблемою, тому що обмеження швидкості було швидше не на рівні інтерфейсу підключення дисків, а на рівні фізичної швидкості роботи диска, то з SSD дисками інтерфейс підключення стає “вузьким місцем” у швидкості роботи. Остання, третя версія інтерфейсу SATA, який зараз найбільш поширений має обмеження у швидкості 600 МБ/с. У той час, як навіть найдешевші масові SSD диски мають швидкість читання вже 500 МБ/с, і більше, тобто вже інтерфейс обмежує швидкість диска.
Щоб обійти це обмеження, народилася ідея використовувати для підключення SSD дисків інтерфейс PCI Express, швидкість якого коливається від 8 до 32 ГБ/с залежно від версії. Перші версії SSD дисків, які можна було підключати через PCI Express мали ряд проблем – з підтримкою з боку ПЗ, з оновленням драйверів. Але з 2014 року, коли вийшов стандарт NVMe 1.2, ці диски були вже цілком працездатними та придатними.
NVME одночасно розроблявся з урахуванням роботи з твердотільних SSD дисками і тому має важливу відмінність від AHCI (який використовувався на SATA). NVME може підтримувати до 64 000 черг команд, тоді як AHCI було передбачено лише 1 чергу з 32 команд.
Починаючи з кінця 2018 року, ціни на ці диски опустилися до рівня, коли їх застосування стає виправданим для використання в Enterprise рішеннях.
Порівняння швидкості SSD NVME та SSD SATA.
Ми провели кілька тестів, щоб порівняти швидкість, в рамках стандартних серверів для хостингу і порівняли 2 диски, один звичайний SSD, підключений через SATA інтерфейс і SSD NVME, включений через PCI Express.
Робимо тест на IOPS – кількість запитів за секунду.
Тест робимо за допомогою утиліти fio, командою:
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75
Ця команда створює файл на 4 Гб і виконує читання та запис блоками, розміром 4 кб у 64 потоки.
Результат SSD на SATA:
Нас цікавить показник IOPS
Комбінований запис: 5 343 операцій / сек
Комбіноване читання: 15 000 операцій/сек
Результат SSD на NVME:
Комбінований запис: 44 700 операцій/сек
Комбіноване читання: 134 000 операцій/сек
Як бачимо, різниця результату на порядок.
Робимо ще один тест на швидкість читання файлу, розміром 1 Гб, перевіряємо командою dd, яка є в будь-якому дистрибутиві лінукс. В даному випадку ми перевіряємо швидкість читання файлу, який заздалегідь створили.
dd if=/tmp/test.img of=/dev/null bs=1M count=1024
Результат SSD на SATA:
Результат SSD на NVME:
Як бачимо різниця у швидкості читання у 6 разів, на користь дисків SSD NVME.
На даний момент ми використовуємо швидкісні диски SSD NVME на двох лінійках хостингу: хостинг для Wordpress та VIP хостинг . Але найближчим часом плануємо розпочати перехід на нові диски та на звичайному хостингу.