Мы запускаем гипервизор ESXi 5.5u2, который имеет зеркало из 2 дисков SAS 15k с парой виртуальных машин внутри, и мы заметили, что некоторые службы становятся на короткое время недоступными, если другая виртуальная машина использует весь ввод-вывод.
Поэтому я ищу способ избежать этого эффекта просачивания, ограничив количество операций ввода-вывода в секунду наших виртуальных машин в vSphere, чтобы каждая имела долю от общей суммы диска. Просто зашел на вкладку Ресурсы в настройках ВМ и установил лимит IOPS. Это не сложная задача (хотя я бы хотел, чтобы у vSphere был клиент Linux), но я заметил одну вещь: предел IOPS не приближается к тому, что фактически получает виртуальная машина.
Я использую инструмент под названием VisualEsxtop который отображает множество вещей, включая IOPS. В частности, я изображаю CMDS / s, Reads / s и Writes / s. Чтобы определить общий IOPS моей конфигурации, я запускаю простой стресс-тест с dd, который записывает большой файл и читает из большого файла (оба теста выполняются бок о бок).
Исходя из этого, я обнаружил, что мои IOPS составляют около 270. Насколько я понимаю, IOPS = num_reads + num_writes, но при применении этой логики к пределу IOPS в vSphere я не вижу этой связи. Установка предела на половину привела к падению IOPS примерно до 40, а установка на 2700 дала 50% общего количества, которое я хотел.
Так что я немного озадачен этим. Это то, как я определил свои IOPS? Приветствую всех, кто может пролить свет на это.
1) у них есть клиент linux - веб-клиент - вы знаете, когда входите в клиент .net - ну, в этом небольшом тексте вверху написано что-то вроде `` прекратите использовать это, он уходит, воспользуйтесь веб-клиентом »- ну что ж.
2) Как правило, я предполагаю около 200 случайных операций ввода-вывода в секунду на диск со скоростью 15 оборотов в минуту - я знаю, что вы можете получить больше, но это разумное предположение - конечно, вы используете R1, поэтому записи получают штраф 2: 1, а чтение может получить небольшой прирост, но опять же, я бы не стал на это рассчитывать. Да, и ваше определение не совсем правильное - существует множество различных типов тестов ввода-вывода, IOPS - это просто мера - в общих чертах есть последовательное чтение / запись и их случайные версии.
3) Вместо того, чтобы ограничивать количество операций ввода-вывода в секунду, почему бы просто не установить более высокие общие дисковые ресурсы на виртуальных машинах с более высоким приоритетом - таким образом вы не ограничиваете максимальную производительность любой данной виртуальной машины, а просто взвешиваете их ответы в зависимости от конкуренции.
4) Учитывая, что у вас всего два диска, могу ли я предложить, чтобы переход на твердотельные накопители не был слишком дорогим, и вы можете забыть обо всех настройках, которые вы пытаетесь выполнить.
5) Это может прозвучать жестко, но это не так - пройдите обучение, даже базовый курс ICM учит этим основам.