Производительность локального SSD против корпоративной системы хранения IBM DS5300
Участники теста: слева система хранения корпоративного класса DS5300 с кучей дисков Sata HDD 7200, справа Intel SSD DC S3500 800 GB. |
Есть у нас некий сервер с двумя процессорами Intel Xeon E5-2690v2. 20 физических ядер в сумме и 40 виртуальных.
На сервере VMware vSphere 5 с двумя виртуальными тестовыми машинами (одна клон другой) под CentOS 7 с XFS 12 ГБ ОЗУ, 40 vCPU на каждой.
Локальные диски: 2SSD Intel DC S3500 800 GB в RAID1 на локальном контроллере.
Удаленные диски: подключены по FibreChannel 4Gb к IBM DS5300 с дисками SATA HDD 7200 в RAID6 с датастором 4.5 TB. Кеш контроллера на системе хранения: до 16 ГБ.
Интерес вызывает, есть ли разница между локальными SSD и достаточно мощной системой хранения корпоративного уровня среднего класса, но на HDD 7200.
Хочется прогнать на реальных виртуальных машинах и в синтетике sysbench.
Тестирование на веб-сервере
В качестве виртуальных машин взят сервер с установленной электронной библиотекой (вот он внешне http://demo.elibsystem.ru/) и на него долбится Apache Benchmark.
Сервер такой, что все у него влазит в ОЗУ (высокий кеш-хит в MySQL), поэтому диски трогаются мало, записи и чтения с виртуальных дисков мало.
Результат ожидаем: разницы нет.
Если дергать веб-сервер, разницы не будет т.к. обращений к диской подсистеме почти нет (высокий кеш-хит в базе данных и закешированные файлы в VFS).
Т.е. если у вас достаточно ОЗУ, база не слишком большая и записи мало, то разницы вы особой не увидите т.к. файловая подсистема мало задействована.
Также в библиотеку загружался контент, который вызывает процедуру создания некоторых файлов и обработки загруженного PDF. Разницы также значительной не было. Связано это может быть с тем, что последовательная запись оптимизируется большим кешем DS5300, поэтому DS5300 работает не медленнее локального SSD, а чтение происходит либо из ОЗУ, либо в основном последовательное, при котором HDD себя показывают близко к SSD.
Синтетические тесты sysbench fileio
Все тесты проводятся на подготовленных файлах в 40 ГБ чтобы заведомо не влезать в кеш DS5300 и локальные кеши SSD.
Сервер физически один и тот же. Тесты запускаются параллельно, чаще всего в 4 потока. CPU высоко не нагружен. Один из тестов проведен при 40 потоках (был рост, vCPU: 40).
Сервер физически один и тот же. Тесты запускаются параллельно, чаще всего в 4 потока. CPU высоко не нагружен. Один из тестов проведен при 40 потоках (был рост, vCPU: 40).
Случайные чтение и запись
Локальный SSD быстрее в 50 раз.
Последовательная запись.
Показатели близкие: локальные SSD примерно в полтора раза быстрее DS5300. Видимо объясняется удобной нагрузкой на DS5300. Но иногда на DS5300 просаживаются iops, видимо из-за окончания кеша. Затем скорость восстанавливается, затем снова проседает. Когда скорость не просажена, она примерно соответствует скорости записи на SSD.
В 40 потоков быстрее, чем в 4. Разницы между 40 потоками и 400 - нет.
Пример проседания iops на DS5300, которые затем восстанавливаются до 7000 tps.
У SSD показатель iops на протяжении теста стабилен.
Случайное чтение
У SSD в 70 раз быстрее, чем у DS5300 на HDD.Заключение
При случайном чтении и записи на больших объемах, заведомо не вмещающихся в кеш системы хранения, SSD значительно быстрее системы хранения на HDD. При последовательных операциях - особой разницы нет, хотя у HDD может прыгать IOPS и будет хуже латентность.На практике разница между SSD и HDD будет заметна далеко не всегда. Если ваш сервис хорошо кеширует данные, его работа оптимизирована так, что он пишет и если и читает, то часто последовательно, особой разницы в производительности вы можете и не заметить.
Поэтому нельзя сказать, что SSD всегда значительно быстрее HDD и надо брать системы хранения SSD only. Правильно бы протестировать именно на ваших нагрузках.
Комментарии
Отправить комментарий