Czy istnieje standardowy sposób porównywania wydajności maszyny wirtualnej Windows z poziomu systemu-gościa?

9

Nasze oprogramowanie zachowuje się wyjątkowo u jednego z klientów, gdzie jest uruchamiane na maszynie wirtualnej z systemem Windows 2008. Hostem jest VMWare ESX Server.

Największym problemem, jaki widziałem, jest to, że nasze procesy upuszczały połączenia gniazd lub upłynęły limity czasu połączeń gniazd. Niektóre z naszych procesów komunikują się ze sobą przez gniazda TCP. W niektórych przypadkach łączymy gniazda z systemami zdalnymi (np. WMI, JDBC).

Jestem przekonany, że maszyna wirtualna jest pozbawiona zasobów. Nie mamy dostępu do pulpitów administratora / wydajności ESX. Dowiedziałem się również, że wszelkie liczby wykonywane przez perfmon lub menedżera zadań w maszynie wirtualnej hosta nie są prawdziwym wskaźnikiem stanu systemu operacyjnego hosta.

Mógłbym napisać program, który zajmuje się matematyką zmiennoprzecinkową i drukuje poświęcony czas. Następnie porównaj ten czas z czasem uzyskanym na różnych maszynach wirtualnych lub rzeczywistych polach Windows.

To podejście jest wystarczające, abyśmy mogli ustalić, czy podstawową przyczyną jest rzeczywiście wydajność maszyny wirtualnej. Byłoby jednak znacznie łatwiej przekonać klienta, gdyby istniał standardowy sposób lub narzędzie do tego.

Czy jest jeden

akirekadu
źródło
Wierzę, że Windows 2008, a na pewno Windows2008R2, pozwala spojrzeć na nowe liczniki (i inne), które pokazują częstotliwość procesora, pamięć itp. Specjalnie do wirtualizacji. Najszybszym sposobem byłoby jednak zapytanie administratora VM - upewnij się, że nie nadpisał pamięci szczególnie na hoście VM (pole hosta może mieć 64 GB, ale suma maszyn wirtualnych na tym hoście może mieć 80 GB pamięci RAM) . Aha, a jeśli to dopiero się zaczęło, być może host maszyny wirtualnej jest bardziej obciążony. Poproś ich o przeniesienie gościa VM na mniej zajęty host.
Peter Schofield,
Przypomina mi o tym - obwinianie
Doug Luxem
Proszę podzielić się, jeśli masz jakiś pomysł, które są tymi licznikami. Obecnie bawię się tym adresem URL, aby uzyskać wczesne wskazówki fossiltoys.com/speed.html (być może nie jest to niezawodny test, ale szukam bardziej niezawodnego)
akirekadu

Odpowiedzi:

2

Zwykle używam tych samych produktów, których używam do testowania fizycznego sprzętu.

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

Oczywiście pomiń test 3d, ale inne mogą być pomocne, zwłaszcza testy porównawcze dysków i sieci. Upewnij się, że używasz odpowiednich sterowników sieciowych i IO i upewnij się, że wszystkie ustawienia systemu Windows są zoptymalizowane pod kątem maszyny wirtualnej.

Antonius Bloch
źródło
1

Do testowania sieci używam iperf i netperf do przetestowania tego.

Do testowania I / O dysku używaj sqlio, które jest kolejnym standardowym narzędziem branżowym. Uruchom zarówno losowe, jak i sekwencyjne testy we / wy z różnymi rozmiarami bloków.

Jeśli chodzi o testowanie procesora / pamięci RAM, nie mogę wymyślić niczego dla systemu Windows z góry.

Wim Kerkhoff
źródło