Описание: При том же оборудовании Ubuntu превосходит Win2k3 примерно на 50 процентов по показателям IOPS. Win2008R2 изначально работает так же, как Win2k3, но постепенно набирает производительность, пока не станет на одном уровне с Ubuntu (непрерывной активности требуется около 20-30 секунд).
Вопросы: Кто-нибудь может объяснить поведение Win2008R2?
Подробности: я буду сообщать только те подробности, которые считаю актуальными, но если я что-то пропущу, обращайтесь ко мне за дополнительной информацией. У нас есть SAN с группой 11x600GB SAS RAID5. Все подключено по оптоволокну 4Gbps. Я создал LUN на 500 ГБ и поделился им с физическим сервером под Win2k3Entx64. Я создал еще один LUN на 500 ГБ и поделился им с сервером под управлением ESXi. Я создал виртуальную машину Win2k3Entx64, Ubuntu 10.04 x64 и виртуальную машину Win2008R2x64 в ESXi. Физический сервер Win2k3 немного превосходил виртуальную машину Win2k3. Виртуальная машина Ubuntu курила оба сервера Win2k3. Виртуальная машина Win2008 работала как Win2k3 около 5-10 секунд, а затем начала постепенно увеличивать производительность, пока не стала примерно такой же, как сервер Ubuntu.
Настройка и результаты IOmeter: 32k 50% чтения 0% случайных 1 Worker в тестовом файле размером 1,5 ГБ.
Win2k3x64 (физический): средний ответ ввода-вывода (мс) - 1,0789 Всего операций ввода-вывода в секунду - 926,28
Win2k3x64 (VM): средний ответ ввода-вывода (мс) - 1,1786 Всего операций ввода-вывода в секунду - 847,81
Ubuntu (VM): средний ответ ввода-вывода (мс) - 0,7849 Всего операций ввода-вывода в секунду - 1273,00
Win2008R2 (VM) Intial: средний ответ ввода-вывода (мс) - 1,0959 Всего операций ввода-вывода в секунду - 910,00
Win2008R2 (VM) 30 секунд: средний ответ ввода-вывода (мс) - 0,8810 Всего операций ввода-вывода в секунду - 1133,66
Вы можете сказать, переходите на Linux! Половина наших приложений полагается на MS-SQL и Win2k3, так что это не вариант. Возможно переключение на сервер 2008 года, но не раньше, чем я выясню, почему я получаю такие результаты.
ЧАСТЬ 2
Выравнивание определенно было проблемой. Оказывается, 2008 и Ubuntu автоматически выравниваются. Теперь о проблеме 2. Для одного рабочего процесса IOmeter это нормально. Однако производительность виртуальной машины становится хуже по сравнению с физической для каждого добавляемого мной рабочего. Я добавил до 8 (1 на процессор), и снова я упал на 50 процентов по сравнению с физическим сервером.
Я пробовал распределение дисков 4k, 16k и 64k на Win2k3. Драйверы SCSI - это хост-адаптер LSI Logic PCI-X Ultra 320 SCSI (версия 5.2.3790.3959). Использование ЦП примерно такое же, как и на физическом сервере, поэтому это не проблема ресурсов ЦП.
Вы, ребята, решили первую проблему, надеюсь, у вас тоже есть совет по этому поводу. Спасибо
Мне кажется, вы не выровняли тестовый том на Win2K3. По умолчанию Win2K3 не выравнивает разделы, поэтому MBR вызывает смещение, что приводит к штрафу за записи, пересекающие границы полос. Win2K8 автоматически выравнивается по 1 мегабайту, что обычно соответствует большинству границ чередования RAID. Последние сборки Ubuntu также автоматически выравнивают разделы, начиная со смещения в 1 мегабайт.
С размером ввода-вывода 32 КБ вы, вероятно, столкнетесь с большим количеством границ полосы RAID. Штраф в 50%, который вы видите, выше, чем все, что я видел с этим, но точный штраф зависит от размера полосы вашего RAID-контроллера.
У меня нет хорошего объяснения поведения W2K8 при разгоне.
Я согласен с Хелвиком, 2003, вероятно, имеет проблемы с выравниванием. Я подозреваю, что коробка 2008 года использует больше кеша со временем. Я бы настроил ваш тест IOP, как это сделал VMware: