Производительность локального 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). 

Случайные чтение и запись 


Локальный SSD быстрее в 50 раз.


Хорошо видно, что производительность DS5300 на уровне одного HDD по iops:


Последовательная запись.


Показатели близкие: локальные 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. Правильно бы протестировать именно на ваших нагрузках.


Комментарии

Популярные сообщения из этого блога

Обзор почтового клиента Pronto Pro!

Подключаем ZFS over iSCSI на Oracle Linux 8 (CentOS) в Proxmox

Архитектура катастрофоустойчивого сервиса