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

Нужна помощь в диагностике проблем с производительностью Symmetrix SAN

Я помогаю протестировать оборудование для нового экземпляра SQL Server, и объем, представленный ОС для файлов данных, вырезан из набора шпинделей на Symmetrix SAN. На сервере еще не установлен SQL Server, поэтому единственное действие на коробке - это тестирование.

Теперь наши инженеры по хранению говорят, что этот том и его ресурсы выделены для нашего нового сервера (у меня нет доступа, чтобы увидеть фактическую конфигурацию SAN), однако тесты производительности вызывают беспокойство. Например, числа выглядят хорошо, пока внезапно и случайно мы не увидим в нашем инструменте тестирования ввода-вывода время ожидания 100 секунд и длину дисковой очереди 255 в perfmon.

Этот SAN имеет кэш 8 ГБ, а кроме нашего есть другие приложения, которые используют SAN. Мне интересно, может ли (хотя шпиндели для наших томов быть выделены нам) кеш может быть забит во время тестирования производительности, или, возможно, шпиндели, на которых находятся наши тома, на самом деле не предназначены для нас.

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

@arcain

Какие инструменты тестирования вы используете?

Ряд инструментов, таких как SQLIOSim и SQLIO, в зависимости от того, как они настроены, могут привести к тому, что длина дисковой очереди достигнет высоких уровней, но это нормально, поскольку это часть теста. Проблема в том, что время ожидания, о котором вы упомянули, для меня - это явный признак нехватки дисков. За исключением того, что слишком много виртуальных машин вызывает насыщение сети SAN, мой опыт показывает, что диски (если не SSD) всегда являются самым большим узким местом. При этом они обычно не должны приводить к состояниям ожидания, если только они не используются другим хостом, который их активно использует.

В этих ситуациях я предлагаю использовать SQLIO от MS (если это не то, что вы уже используете). Поскольку ваша Symmetrix имеет кэш 8 ГБ, я бы протестировал тестовый файл размером 16 ГБ или больше, чтобы протолкнуть кеш, чтобы убедиться, что вариация не столько в кеше, сколько в том, что на самом деле выдают базовые диски.

Вы можете использовать SQLIO для создания файла для серии тестов, а затем выполнить для него следующее:

sqlio -kW -t2 -s120 -dE -o4 -fsequential -b64 -BH -LS Testfile.dat

Параметр -d указывает на букву диска, в данном случае E:

Этот тест выполняет набор последовательных записей в течение 2-минутного (-s120) периода, и вы можете заключить его в простой пакетный файл с отметками времени, чтобы помочь вам отслеживать время дня и передавать результаты в файл журнала для просмотра. Напишите пакет для выполнения вышеуказанного или чего-то подобного неоднократно в течение определенного периода времени и просмотрите результаты. Чем больше выборка, тем лучше.

Если диски на самом деле выделены, и поскольку вы проталкиваете свой кеш, результирующие IO, МБ и задержка должны быть довольно близкими (вариация 1-5%). Если оно превышает это значение, примерно до 15% или выше, то, вероятно, у вас есть конкуренция за диск.

Другое дело, не забудьте указать дату и время вашего тестирования, а также с какими дисками вы тестировали. Все SAN имеют своего рода журналы для профилирования следующего:

  • Быстрая запись - записывает в кэш, а затем сбрасывает на диск
  • Отложенная быстрая запись - ситуация, когда ваш глобальный кеш для записей переполнен и ему необходимо сбросить некоторые предыдущие записи на диск, чтобы освободить место для новых входящих запросов записи.
  • Хиты чтения - чтения, удовлетворенные глобальным кешем
  • Прочитанные промахи (длинные и короткие) - чтение было либо частично удовлетворено глобальным кешем (короткое), либо не было вообще, и ему пришлось вытащить все с диска (длинное)

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

Отправьте ответ с некоторыми результатами, если сможете, я буду более чем счастлив просмотреть их.

Кеш будет совместно использоваться вами и другими серверами в массиве. Возможно, шпиндели используются совместно с кем-то другим. Только ваш администратор хранилища будет знать наверняка.

Также может быть, что полка или задний контур загружены (маловероятно, но возможно).

Если все работает, то на некоторое время все пойдет наперекосяк, а затем вернется к нормальному состоянию, это звучит так, будто вы заполняете кеш в массиве и начинаете писать прямо на диск, что является проблемой, поскольку диски уже работает на 100%. Сколько шпинделей позади LUN? Какую производительность вы видите, когда все работает правильно?