Obecnie jesteśmy w trakcie aktualizacji naszego 32-bitowego serwera produkcyjnego na bardziej wydajny serwer 64-bitowy podczas aktualizacji do ASP.NET 4. Jednak po przeprowadzeniu niektórych testów niewielkiego obciążenia wydaje się, że mamy spadek wydajności!
Stworzyłem prosty test obciążenia ze stałym obciążeniem 20 użytkowników wykonujących kilka prostych przypadków użycia i porównałem wyniki:
Jak widać, najbardziej wydajną konfiguracją jest istniejący 32-bitowy serwer z ASP.NET 2.0.
Można to zobaczyć, uruchamiając IIS w trybie 32-bitowym na komputerze 64-bitowym, co jest dość porównywalne z istniejącym 32-bitowym serwerem, ale podczas uruchamiania IIS w trybie 64-bitowym na serwerze 64-bitowym - wydajność jest znacznie niższa. Nie jestem pewien, dlaczego tak jest, ponieważ nowy serwer jest lepszy.
Z jakiegoś powodu za każdym razem, gdy uruchamiam test z IIS w wersji 64-bitowej, na początku pojawia się duży skok, a następnie wyrównuje się, ale nadal ma dłuższy czas odpowiedzi niż 32-bitowy. Skok zanika, gdy uruchamiam IIS w trybie 32-bitowym.
Zauważ, że pula aplikacji / aplikacja nie jest restartowana między testami, ale skok jest tam stale, a odpowiedź wyższa niż w innych konfiguracjach.
Więc - moje pytanie brzmi: czy ktoś ma pojęcie, dlaczego tak jest? Czy muszę skonfigurować jakieś ustawienia konfiguracji? Czy ktoś ma jakieś wskazówki na temat tego, jak mogę zawęzić różnicę?
Obecny serwer produkcyjny: Win Server 2003 - 32-bitowy - IIS6
Nowy serwer: Win Server 2003 R2 - 64bit - IIS6