Korzystam z dwóch serwerów Dell R410 w tej samej szafie centrum danych (za modułem równoważenia obciążenia). Oba mają tę samą konfigurację sprzętową, uruchamiają Ubuntu 10.4, mają te same pakiety zainstalowane i działają na tych samych serwerach Java (bez innych obciążeń) i widzę znaczną różnicę wydajności między nimi.
Różnica w wydajności jest najbardziej widoczna w średnich czasach odpowiedzi obu serwerów (mierzonych w samej aplikacji Java, bez opóźnień sieciowych): jeden z nich jest o 20-30% szybszy niż drugi, bardzo konsekwentnie.
Kiedyś dstat
zastanawiałem się, czy jest więcej przełączników kontekstu, IO, swapów itp., Ale nie widzę powodu, by to robić. Przy takim samym obciążeniu (bez zamiany, praktycznie bez operacji we / wy) użycie procesora i obciążenie jest wyższe na jednym serwerze.
Tak więc różnica wydaje się być związana głównie z procesorem, ale chociaż prosty test porównawczy procesora przy użyciu sysbench
(przy wyłączonym całym obciążeniu) dał różnicę, wynosił tylko 6%. Może więc nie tylko wydajność procesora, ale także pamięci.
Do tej pory sprawdziłem:
- Wersje oprogramowania układowego wszystkich komponentów (identyczne)
- Ustawienia systemu BIOS (zrobiłem zrzut przy użyciu
dmidecode
, i to nie wykazało różnic) - Porównałem
/proc/cpuinfo
, bez różnicy. - Porównałem wydajność
cpufreq-info
, bez różnicy. - Parametry Java / JVM (ta sama wersja i parametry w obu systemach)
Poza tym całkowicie wymieniłem RAM kilka miesięcy temu, bez żadnego efektu.
Zgubiłem się. Co mogę zrobić, aby dowiedzieć się, co się dzieje?
AKTUALIZACJA : Tak! Oba serwery działają teraz równo. Były to ustawienia „power CRAP”, jak jim_m_som, jak je nazwano w komentarzach. Opcje BIOS dla „zarządzania energią” były w „Maksymalna wydajność” na szybkim serwerze, a w „Active Power Controller” (ustawienie domyślne od Dell) na drugim. Oczywiście zapomniałem, że ustawiłem to dwa lata temu i nie zrobiłem tego na wszystkich serwerach. Dziękujemy wszystkim za bardzo pomocny wkład!