IO выходит с InnoDB, обзором требуемой оценки

Добавить еще 0,02$... Microsoft имеет некоторые рекомендации о виртуализации контроллеров домена, которые Вы могли искать. Большой никогда не должен восстанавливать снимок и переносить откат USN.

1
задан 15 December 2010 в 06:48
2 ответа

В среднем приблизительно 500 qps

Это - первая проблема. Единственный (быстрый) жесткий диск идет только 200-250 IOPS.

в Вашем iostat дамп, мы видим sda8 делает 165 IOPS, не плохо вообще для дублируемого диска. Однако, средний размер очереди является очень небольшим, и среднее ожидание и среднее время обслуживания составляет немного больше чем 3 мс. Другими словами, диск не является узким местом, по крайней мере, не в данный момент Вы работали iostat.

Очевидно, буферы RAM и другая оптимизация InnoDB уже на работе, уменьшающей решительно сумму запросов IO (иначе, Вы попытались бы сделать 500 запросов, и sda8 не смог бы обслужить настолько быстро).

Так, какова Ваша проблема?

Править:

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

во-первых, я переоценил бы DRBD. Три опции:

  1. сохраните DRBD, но получите лучшую задержку между хостами. или 10GbE, или некоторое более необычное соединение. Я сказал бы, что InfiniBand мог быть опцией.
  2. замените DRBD некоторой внешней совместно используемой памятью (устройство хранения данных SAN). Тот, который мог дать высокое количество iSCSI IOPS. на Ethernet, не сократит его. Или высокопроизводительный FC или совместно использованный SAS.
  3. рассмотрите репликацию DB вместо того, чтобы совместно использовать устройство хранения данных. Тем путем устройство хранения данных было бы локально для DB, и задержка будет локальна также. Репликация происходит 'после факта', таким образом, это не влияет на IOPS.

Затем неважно, который решение Вы выбираете, Вам все еще нужно намного больше IOPS, чем, что могут обеспечить Ваши текущие диски.

Существует два основных способа получить высокий IOPS:

  1. Добавьте больше шпинделей. Обычно в RAID10, IOPS, который можно получить, является примерно суммой IOPS всех активных дисков. Вот почему диски высокого об/мин доступны в так низких мощностях, Вы обычно хотите, чтобы партии и много дисков получили более высокую скорость. 20-30 дисков только для складывания шпинделей не неслыханны; это - число, необходимо было бы войти в приблизительную оценку на ~6000 дюйм в секунду. (15kRPM диск дает 180-250 IOPS),
  2. Используйте SSD. Высокопроизводительный флеш-накопитель может получить 20,000 IOPS. Обязательно используйте 'сервер' SSD, те используемые для рабочих станций умерли бы через несколько месяцев. Посмотрите различие между SLC и MLC, например, X-25E Intel по сравнению с X-25M.
3
ответ дан 3 December 2019 в 18:07

165 IOPS? Где Вы читаете это из? Я думаю, что Вы неверно рассчитали путем добавления rrqm (слияния запроса чтения), и wrqm (запишите слияния запроса) вместо того, чтобы использовать r/s + w/s (реальный IOPS диском). Дополнительно диск только при 21%-м использовании - что обычно не знак добавить больше шпинделей. Все ниже 70% для данного LUN можно рассмотреть хорошо.

По-видимому только небольшая часть запросов поражает шпиндели.

1
ответ дан 3 December 2019 в 18:07

Теги

Похожие вопросы