Диск
Что такое IOPS?
IOPS measures how many individual read or write operations a storage device completes per second. Random 4K IOPS at a queue depth of one is the number that predicts database behaviour; sequential throughput is the number that appears in marketing.
Почему IOPS важен
Случайные IOPS при размере блока 4K и глубине очереди 1 — это показатель, предсказывающий поведение базы данных; последовательная пропускная способность — это цифра, которая фигурирует в маркетинге.
IOPS на практике
Когда вы реально запускаете сервер, IOPS — это то, за чем вы следите, когда запросы замедляются. Вы смотрите на задержку случайного чтения 4K в вашей базе данных и определяете, не диск ли является узким местом. Если да — переходите на NVMe или добавляете диски. Если игнорировать, приложение будет ползти под нагрузкой, и каждый медленный запрос стоит вам пользователей. Вы можете изменить конфигурацию хранилища, но это не мгновенно: переход на уровень ниже требует пересборки, а дополнительный NVMe подключается как второе блочное устройство. Если ошибиться, сервер быстрый в тестах, но падает в продакшене.
Что люди часто понимают неправильно в отношении IOPS
Заблуждение состоит в том, что IOPS — это фиксированное число. Это не так; оно зависит от глубины очереди и размера блока. Диск может заявлять высокие IOPS при больших глубинах очереди, но для баз данных важен случайный доступ 4K при глубине очереди, равной единице. Исправление: если сравнивать хранилища по маркетинговым цифрам, вы выберете не то устройство. Смотрите на показатель при глубине очереди, равной единице.
IOPS — частые вопросы
Какую глубину очереди использовать для тестирования IOPS?
Для рабочих нагрузок баз данных используйте глубину очереди, равную единице. Именно этот показатель предсказывает реальное поведение, потому что большинство OLTP-запросов выполняют одиночные независимые чтения. Более высокие глубины очереди могут завышать цифры IOPS, но не отражают то, как ваша база данных на самом деле обращается к диску.
Чем IOPS отличается от пропускной способности?
IOPS считает отдельные операции в секунду; пропускная способность измеряет байты в секунду. Последовательная передача, например резервное копирование, может достигать высокой пропускной способности, но низких IOPS, в то время как база данных выполняет множество небольших случайных чтений, поэтому IOPS имеют большее значение. В маркетинге часто цитируют последовательный показатель.
Где встречается IOPS
- Насколько NVMe быстрее, чем SATA SSD? Примерно в пять раз больше случайных IOPS — около 500 000 против 90 000 — и примерно в пять раз ниже задержка: менее 0,1 мс против примерно 0,5 мс. Последо…
- NVMe против SSD против HDD для VPS NVMe достигает примерно 500 000 случайных IOPS с задержкой менее 100 микросекунд; SATA SSD — около 90 000 IOPS; HDD на 7 200 об/мин — около 150. Для всего,…
- Как провести бенчмарк VPS? Измеряйте три вещи, которые действительно варьируются: однопоточный CPU с помощью sysbench, диск с помощью fio при случайном чтении/записи 4K, и сеть с пом…
Больше из раздела «диск»
- NVMe
- NVMe — это протокол хранения данных, который подключает твердотельные накопители напрямую через PCIe, достигая примерно 500 000 случайных операций ввода-вывода в секунду с задержкой менее 100 микросекунд.
- RAID 10
- RAID 10 зеркалирует данные на парах дисков и чередует по зеркалам, обеспечивая как избыточность, так и высокую производительность, но за счёт половины полезной ёмкости.
- Snapshot
- Снимок — это копия диска виртуальной машины на определённый момент времени, создаваемая мгновенно и хранящаяся на той же инфраструктуре.