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
źródło
Próbowaliśmy tego na naszym serwerze Windows 2K3 i dostaliśmy to samo, nie było mnie w tym czasie, ale ma to coś wspólnego ze sposobem, w jaki MS zaimplementował 64Bit .Net w 2K3 (nie jestem pewien co, ale osoba, która powiedziała mi, to MVP, więc Uwierzę mu na słowo.)
I tylko po to, aby poinformować cię, że jeśli przeprowadzisz się do Win2K8, możesz zobaczyć to samo, co ja z naszymi serwerami tutaj i mieć ten sam problem z wydajnością. Z tego, co mi powiedziano i odrobiny lektury, aby skorzystać z 64Bit .Net, zaleca się stosowanie zintegrowanych potoków ( http://msdn.microsoft.com/en-us/magazine/cc135973.aspx )
Niestety, to nie odpowiada na twoje pytanie, ale pomyślałem, że dam ci znać, że nie tylko ty widzisz ten problem.
źródło