none
Значение IOPS слишком высокое RRS feed

  • Вопрос

  • Добрый день. Появилась задача мониторить IOPS на диске сервера с Windows 2008R2. В интернете нашел несколько статей, в которых сказано что можно это сделать с помощью счетчиков производительности:

    Disk Reads/sec - операций чтения в секунду

    Disk Writes/sec - операций записи в секунду

    Disk Transfers/sec - операций чтения и записи в секунду.

    На сервер стоят 4 жестких доска в 10 рейде. За время мониторинга счетчики показали максимальные значения по чтению - более 3000 операций в секунду, по записи - более 1000 операций в секунду. Значения в несколько раз превышают количество iops которые смогли бы дать эти диски. 

    Где я ошибся? И как правильно мне снять значение iops?

Ответы

  • а кеширование разве не будет влиять на эти пиковые значения?

    Модератор
  • Дмитрий. Сейчас ничего не подсаживает. При каких событиях максимальные значения выскакивают мне ясно. Дело в том, что значение которое возвращает счетчик ни как не может быть iops. Наша дисковая система ни как не может выдавать 3000 iops на чтение и 1000 на запись. Я думаю, что даже эти значения не максимальные и мы не упираемся в максимальную производительность дисков. Мне просто нужно получить реальное значение iops вот и все.

    Может - если операции с диском - последовательные, да еще и включен кэш. В таком случае и чтение, и запись практически не требует ожидания позиционирования головок: при записи данные пишутся в кэш, которого всяко хватит на то, чтобы уместить одну дорожку (после чего, когда нужная часть дорожки окажется перед головкой, они сбрасываются на диск), а при чтении данные уже находятся в кэше, т.к. контроллер распознает последовательное чтение и выполняет операции с  опережением. В результате скорость работа диска оказывается ограниченной линейной скоростью записи/чтения, что сооответсвует весьма большому числу IOPS (достаточно короткие - 4-8 КБ - блоки данных покажут IOPS до 10 тыс. на шпиндель), а не скоростью позиционирования, которую обычно и отражают типичные данные по IOPS  - те, которые порядка 1 IOPS на 100 об/мин  и на шпиндель.  Собственно, разработчики СУБД и файловых систем стремятся именно к такому режиму работы, так что Ваш результат неудивителен.

    Когда последовательные в основном операции перемежаются произвольными, IOPS будет иметь некое промежуточное значение.


    Слава России!


Все ответы

  • Почитайте гайд. и краткое руководство

    Запишите показания за большой временной период (например, несколько недель)

    Отвечающий
  • Почитайте гайд. и краткое руководство

    Запишите показания за большой временной период (например, несколько недель)

    Какраз в гайде и написано:

    Добавление счетчиков в текущее представление системного монитора

      • В строке меню над экраном графика системного монитора нажмите кнопку Добавить (+) или щелкните правой кнопкой мыши любую точку графика и выберите пункт меню Добавить счетчики. Откроется диалоговое окно Добавить счетчики.

      • В разделе Доступные счетчики выберите счетчики для отображения на экране системного монитора. Для данного примера предлагаются перечисленные ниже счетчики.

        • Память: % использования выделенной памяти
        • Memory: Ошибок страницы/сек
        • Физический диск: Скорость чтения с диска (байт/сек)
        • Физический диск: Обращений чтения с диска/сек
        • Физический диск: Скорость записи на диск (байт/сек)
        • Физический диск: Обращений записи на диск/сек
        • Процессор: Процент времени бездействия
        • Процессор: Прерываний/сек
      • Система: Счетчик потоков

      Дополнительные сведения см. в разделе Диалоговое окно "Добавить счетчики".

    1. Завершив выбор счетчиков, нажмите кнопку ОК

    -----

    Как раз счетчики "Физический диск: Обращений чтения с диска/сек" и "Физический диск: Обращений записи на диск/сек" зашкаливают. 

  • С тем, что они зашкаливают, я полностью согласен. Опишите, пожалуйста роли сервера. Это ВМ? Эти показатели все время в потолке, к машине постоянный доступ, или есть периоды "простоя" ? 

    Объем дисков и ваших данных приведите пожалуйста(можно округлить +- гигабайт)

    Отвечающий
  • С тем, что они зашкаливают, я полностью согласен. Опишите, пожалуйста роли сервера. Это ВМ? Эти показатели все время в потолке, к машине постоянный доступ, или есть периоды "простоя" ? 

    Объем дисков и ваших данных приведите пожалуйста(можно округлить +- гигабайт)

    На сервере бежит II7 и MS SQL server 2008r2. Роли: Веб-сервер, файловые службы. Сервер физический. Доступ днем постоянный ночью можно сказать что простой. Общий объем дисков 1,8 ТБ, данных прибл на 900 ГБ. 
  • Так. Тогда на сервере д.б.

    Cumulative Update 4 for SQL Server 2008 R2 SP2

    и

    ограничение максимальной памяти.

    http://msdn.microsoft.com/ru-ru/library/ms180797(v=sql.105).aspx

    Отвечающий
  • Так. Тогда на сервере д.б.

    Cumulative Update 4 for SQL Server 2008 R2 SP2

    и

    ограничение максимальной памяти.

    http://msdn.microsoft.com/ru-ru/library/ms180797(v=sql.105).aspx

    Дмитрий, спасибо за ответы. Но у меня вопрос конкретно по iops. Мне нужно получить реальные значения. У меня нет сейчас проблем с производительностью, но мне надо наладить мониторинг различных параметров. В частности именно мониторинг iops.
  • А, лечить не будем.... ))

    Ну тогда ставите счетчики, они жужжат (я беру обычно 21 день), мне достаточно вполне бывает. И срез графиков выгружаете в отчет для руководства с вашими комментариями- а вот в это время был вечерний бекап, а вот в это время выбивался отчет.

    Первичку можно собирать уже с первой рабочей недели- 7 дней обычно дают 80 процентов картины, остаток пойдет вам для глазомера, работают ли ваши пользователи с сервисом, или пинают балду.

    Читайте гайд внимательно, всех благ.

    Отвечающий
  • Кстати, обратите внимание на триггеры- их легко настроить на действие при алерте- отправка письма с показателем все пропало иногда очень ценна.
    Отвечающий
  • Дмитрий можно по конкретнее что лечить, о чем речь?  Есть информация о каком-то баге, который влияет на показания счетчиков?

    Гайд, что вы мне дали, по тюнингу производительности, я его конечно почитаю, но пока не пойму как он мне поможет если мне надо снять информацию о производительности.

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

  • Конкретнее можно- я подумал вначале, что у вас пожар, а задача стоит только начать собирать данные о производительности. У вас все будет хорошо, немного возьмите времени и разберитесь. А обновления выше оч. советую установить.

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

    Да пожара ни какого нет. А на счет разобраться, я просто уже не первый и не второй день курю маны, гуглю, и читаю различного рода информацию в данном направлении. Тему создал потому-что решения найти не могу. Может упускаю какую-то мелкую деталь, если так прошу ткунть носом.
  • Если Вы используете и файл-сервер, и SQL, и Web службы на этой машине, то нужно снять показатели со всех подсистем, и понять что просаживает сильнее всего, и понять, как оптимизировать сейчас и потом, выносить или нет сервисы и т.д. Именно поэтому я и дал гайд) Он не такой страшный, как кажется.
    Отвечающий
  • Если Вы используете и файл-сервер, и SQL, и Web службы на этой машине, то нужно снять показатели со всех подсистем, и понять что просаживает сильнее всего, и понять, как оптимизировать сейчас и потом, выносить или нет сервисы и т.д. Именно поэтому я и дал гайд) Он не такой страшный, как кажется.
    Дмитрий. Сейчас ничего не подсаживает. При каких событиях максимальные значения выскакивают мне ясно. Дело в том, что значение которое возвращает счетчик ни как не может быть iops. Наша дисковая система ни как не может выдавать 3000 iops на чтение и 1000 на запись. Я думаю, что даже эти значения не максимальные и мы не упираемся в максимальную производительность дисков. Мне просто нужно получить реальное значение iops вот и все.
  • а кеширование разве не будет влиять на эти пиковые значения?

    Модератор
  • а кеширование разве не будет влиять на эти пиковые значения?

    Да, вполне возможно что именно в этом дело. Спасибо.
  • Дмитрий. Сейчас ничего не подсаживает. При каких событиях максимальные значения выскакивают мне ясно. Дело в том, что значение которое возвращает счетчик ни как не может быть iops. Наша дисковая система ни как не может выдавать 3000 iops на чтение и 1000 на запись. Я думаю, что даже эти значения не максимальные и мы не упираемся в максимальную производительность дисков. Мне просто нужно получить реальное значение iops вот и все.

    Может - если операции с диском - последовательные, да еще и включен кэш. В таком случае и чтение, и запись практически не требует ожидания позиционирования головок: при записи данные пишутся в кэш, которого всяко хватит на то, чтобы уместить одну дорожку (после чего, когда нужная часть дорожки окажется перед головкой, они сбрасываются на диск), а при чтении данные уже находятся в кэше, т.к. контроллер распознает последовательное чтение и выполняет операции с  опережением. В результате скорость работа диска оказывается ограниченной линейной скоростью записи/чтения, что сооответсвует весьма большому числу IOPS (достаточно короткие - 4-8 КБ - блоки данных покажут IOPS до 10 тыс. на шпиндель), а не скоростью позиционирования, которую обычно и отражают типичные данные по IOPS  - те, которые порядка 1 IOPS на 100 об/мин  и на шпиндель.  Собственно, разработчики СУБД и файловых систем стремятся именно к такому режиму работы, так что Ваш результат неудивителен.

    Когда последовательные в основном операции перемежаются произвольными, IOPS будет иметь некое промежуточное значение.


    Слава России!