Niedawno zrobiliśmy migrację dużego serwera z kilkudziesięcioma całkiem sporymi serwisami z maszyny fizycznej do VMware 2.0 beta. I kiedy tylko ruch wzrósł do normalnego poziomu pojawiły się problemy. Długi czas startu ładowania strony, potem już burstem wsio się błyskiem ładowało, ale po kliknięciu znów trzeba było czekać. Zrywane połączenia IMAP, po SSH nie dawało się pracować – maszyna zachowywała się, jakby była bardzo mocno obciążona, na reakcję systemu trzeba było czekać czasem nawet kilkadziesiąt sekund. Maszyna fizyczna również strasznie dostawała w kość.
Paweł znalazł rozwiązanie – maszynie wirtualnej był przydzielony jeden wirtualny procesor. W związku z tym, że Linux widzi procesory HT jako dwa rdzenie, de facto dla klienta była przydzielana połowa procesora – nawet nie cały rdzeń, bo w starszych Xeonach jest tylko jeden, za to zoptymalizowany pod wielowątkowość. Pojawiały się problemy wydajnościowe związane z ciągłym przeładowywaniem cache przy przełączaniu zadań, które teoretycznie powinny się wykonać fizycznie równolegle na 2 osobnych rdzeniach.
Wystarczyło wirtualnej maszynie dać 2 procesory i problemy zniknęły jak za dotknięciem magicznej różdżki.