Мы видим, что наше программное обеспечение ведет себя необычно на одном из клиентов, где оно запускается на виртуальной машине Windows 2008. Хост - VMWare ESX Server.
Самая большая проблема, которую я видел, это то, что наши процессы теряют соединения сокетов или тайм-аут соединений. Некоторые из наших процессов взаимодействуют друг с другом через сокеты TCP. В некоторых случаях мы делаем сокетное соединение с удаленными системами (например, WMI, JDBC).
Я склонен полагать, что VM нуждается в ресурсах. У нас нет доступа к панелям администратора и производительности ESX. Я также узнал, что любые числа, которые предоставляют perfmon или диспетчер задач внутри виртуальной машины хоста, не являются истинным показателем работоспособности ОС хоста.
Я мог бы написать программу, которая выполняет математику с плавающей запятой и распечатывает затраченное время. Затем сравните это время с тем же самым, полученным на разных виртуальных машинах или реальных блоках Windows.
Этот подход достаточен для того, чтобы мы могли определить, действительно ли основной причиной является производительность виртуальной машины. Однако было бы намного проще убедить клиента, если бы существовал стандартный способ или инструмент для этого.
Есть один?
источник
Ответы:
Я склонен использовать те же продукты, которые я использую для сравнения физического оборудования.
http://www.passmark.com/products/pt.htm
Конечно, пропустите 3d тест, но другие могут быть полезны, особенно тесты диска и сети. Убедитесь, что вы используете правильные драйверы для сети и ввода-вывода, и убедитесь, что все ваши настройки Windows оптимизированы для ВМ.
источник
Для тестирования сети я использую iperf и netperf для стресс-тестирования.
Для тестирования дискового ввода / вывода используйте sqlio, который является еще одним стандартным инструментом. Выполните как случайное, так и последовательное тестирование ввода / вывода с различными размерами блоков.
Что касается тестирования ЦП / ОЗУ, я не могу придумать что-нибудь для Windows с ног на голову.
источник