Назад | Перейти на главную страницу

Проблемы ввода-вывода хранилища SAN

У меня есть относительно загруженное приложение, работающее на выделенном сервере. Спецификация

8-core Xeon(R) CPU E3-1240 v3 @ 3.40Ghz 
16GB RAM
8TB RAID 10
80GB SSD for MySQL

Я использую Wowza Streaming Server для потоковой передачи звука, и у меня есть веб-сайт, работающий на этой машине. Приложение работало нормально, без проблем с производительностью.

С тех пор я перешел на облачное решение высокой доступности, которое состояло из следующих элементов.

2 x Web nodes - 2 x CPU Core / 12GB RAM each
1 x DB node (MySQL) - 2 x CPU Core / 12GB RAM / 30GB SAS Storage
1 x Load balancer
2TB SAN Storage 

Веб-сайт и аудиофайлы хранятся в хранилище SAN, а MySQL - в хранилище SAS на узле БД.

Как только я перешел на это решение, я заметил резкое падение производительности, время загрузки сайта стало очень медленным, и иногда загрузка занимает от 30 секунд до 1 минуты. У меня постоянная трансляция аудио и умеренная посещаемость сайта. Интересно отметить, что, похоже, нет проблем с производительностью при потоковой передаче звука, звук начинается быстро, и нет остановки и запуска, это только веб-сайт, который работает медленно.

Команда управления сервером с тех пор обновила ядра на машине, теперь веб-серверы имеют 6 cores каждый и узел db с 24 cores. После обновления производительность повысилась, но производительность по-прежнему серьезно снижена по сравнению с выделенным сервером.

Команда менеджеров работает над этим и вносит коррективы для повышения производительности, но я хотел открыть вопрос сообществу, чтобы узнать, какие идеи есть у кого-то относительно того, почему производительность так упала. Они упомянули о проблемах ввода-вывода в хранилище SAN, но пока не нашли решения.

Подходит ли хранилище SAN для потоковой передачи тяжелого звука и загруженного веб-приложения?

ОБНОВИТЬ

Время отклика до на выделенном сервере

После на новом сервере

Как видите, при новой настройке приложение работает намного медленнее.

Абсолютно. Вы можете использовать любое хранилище для таких приложений. Но я подозреваю, что ваш SAN не настроен должным образом для того, что вам нужно. Для чего-то подобного вам нужно не просто пространство, вам нужна скорость, а это означает, что физические диски разделяют нагрузку. Если они предоставляют вам часть массива RAID5, совместно используемого с 20 другими хостами ... это не будет работать слишком хорошо.

На потоковую передачу звука, вероятно, влияет медленное хранение, но поскольку потоковая передача звука предназначена для работы через узкие соединения, она может лучше компенсировать. Так что я не был бы слишком уверен, что хранилище сейчас «счастливое».

Веб-сайт работает медленно, вероятно, потому, что ваша база данных очень недовольна своим хранилищем.

Насколько я могу судить, ваше хранилище работает значительно медленнее, чем на выделенном оборудовании (от SSD до SAS для БД, насколько я могу судить).

Медленность хранилища часто проявляется в высокой загрузке ЦП, поскольку ЦП находится в состоянии ожидания. В зависимости от ОС вы должны это увидеть и определить, где это хуже всего.

Хорошая новость заключается в том, что при использовании соединений Fibre Channel теоретически возможно получить необходимую пропускную способность от SAN. Но для этого вам понадобится лучшая конфигурация или выбор дисков. Если возможно, снова поместите свою БД на SSD. Если вы не можете этого сделать, попробуйте получить большее количество физических дисков в группе дисков, с которых вы сможете извлечь.

Если ничего не помогает, попробуйте увеличить объем оперативной памяти на сервере БД, который может компенсировать недостаточное хранилище.