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

Есть ли стандартный способ измерения производительности виртуальной машины Windows из гостевой ОС?

Мы видим, как наше программное обеспечение ведет себя необычно у одного из клиентов, где оно запускается на виртуальной машине Windows 2008. Хост - VMWare ESX Server.

Самая большая проблема, которую я видел, - это то, что наши процессы сбрасывают соединения сокетов или время ожидания соединений сокетов истекает. Некоторые из наших процессов взаимодействуют друг с другом через сокеты TCP. В некоторых случаях мы подключаемся к удаленным системам через сокеты (например, WMI, JDBC).

Я считаю, что виртуальная машина испытывает нехватку ресурсов. У нас нет доступа к панелям администратора и производительности ESX. Я также узнал, что любые числа, которые предоставляет perfmon или диспетчер задач внутри виртуальной машины хоста, не являются истинным показателем работоспособности операционной системы хоста.

Я мог бы написать программу, которая выполняет кучу математических операций с плавающей запятой и распечатывает затраченное время. Затем сравните это время с временем, полученным на разных виртуальных машинах или реальных компьютерах с Windows.

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

Есть один?

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

http://www.passmark.com/products/pt.htm

Конечно, пропустите 3D-тест, но другие могут быть полезны, особенно тесты диска и сети. Убедитесь, что вы используете правильные драйверы сети и ввода-вывода, а также убедитесь, что все настройки Windows оптимизированы для виртуальной машины.

Для тестирования сети я использую iperf и netperf для стресс-тестирования.

Для тестирования дискового ввода-вывода используйте sqlio - еще один стандартный инструмент. Запускайте тестирование как случайного, так и последовательного ввода-вывода с разными размерами блоков.

Что касается тестирования ЦП / ОЗУ, я не могу придумать ничего для Windows из головы.