Ми бачимо, що наше програмне забезпечення поводиться незвично у одного з клієнтів, де воно працює у віртуальній машині Windows 2008. Хост - сервер VMWare ESX.
Найбільша проблема, яку я бачив, - це те, що наші процеси випадають з розетки або з’єднуються з розетками. Деякі наші процеси спілкуються між собою через сокети TCP. У деяких випадках ми здійснюємо підключення сокета до віддалених систем (наприклад, WMI, JDBC).
Мене вважають, що ВМ голодує від ресурсів. У нас немає доступу до інформаційних панелей адміністратора / продуктивності ESX. Я також дізнався, що будь-які номери, що надаються perfmon або диспетчером завдань всередині VM хоста, не є істинним свідченням здоров'я ОС хоста.
Я міг би написати програму, яка робить купу математики з плаваючою комою та друкує витрачений час. Потім порівняйте цей час з тим самим, який ви отримали для різних віртуальних машин або реальних вікон Windows.
Такого підходу нам достатньо, щоб ми могли визначити, чи є першопричиною справді ефективність ВМ. Однак переконати замовника було б набагато простіше, якби був стандартний спосіб чи інструмент для цього.
Чи є такий?