2008-08-06 13 views
8

Dyskusje o grze Dual vs Quadcore są tak stare, jak same kwadraty, a odpowiedź jest zwykle "zależna od scenariusza". Tak więc scenariusz jest serwerem sieciowym (Windows 2003 (nie wiem, czy x32 lub x64), 4 GB pamięci RAM, IIS, ASP.net 3.0).Więcej w porównaniu do szybszych rdzeni na serwerze internetowym

Mam wrażenie, że procesor na serwerze WWW nie musi być TAK szybki, ponieważ żądania są zwykle raczej lekkie, więc posiadanie większej liczby (wolniejszych) rdzeni powinno być lepszym wyborem, ponieważ otrzymaliśmy wiele małych próśb.

Ale ponieważ nie mam dużego doświadczenia z równoważeniem obciążenia usług IIS i ponieważ nie chcę wydawać dużych pieniędzy, aby dowiedzieć się, że dokonałem niewłaściwego wyboru, czy ktoś, kto ma nieco więcej doświadczenia, może skomentować czy mniej wolniejsze czy mniej szybsze są lepsze?

Odpowiedz

15

Dla czegoś takiego jak serwer WWW, podzielenie zadań związanych z obsługą każdego połączenia jest (stosunkowo) łatwe. Mówię, że można bezpiecznie powiedzieć, że serwery internetowe są jednym z najbardziej powszechnych (i wyprasowanych) zastosowań kodu równoległego. A ponieważ jesteś w stanie podzielić wiele procesów na wiele wątków dyskretnych, więcej rdzeni faktycznie przynosi ci korzyści. Jest to jeden z głównych powodów, dla których udostępnianie hostingu jest możliwe. Gdyby oprogramowanie serwerowe, takie jak IIS i Apache, nie mogło równolegle uruchamiać żądań, oznaczałoby to, że każde żądanie strony musiałoby zostać podzielone w kolejce ... prawdopodobnie spowoduje, że czas ładowania będzie nieznośnie powolny.

To także powoduje, że systemy operacyjne dla serwerów klasy wyższej, takie jak Windows 2008 Server Enterprise, obsługują około 64 rdzeni i 2 TB pamięci RAM. Są to aplikacje, które mogą faktycznie korzystać z wielu rdzeni.

Ponadto, ponieważ każde żądanie prawdopodobnie ma niskie obciążenie procesora, prawdopodobnie (dla niektórych aplikacji) można uzyskać więcej wolniejszych rdzeni. Ale oczywiście szybsze działanie każdego rdzenia może oznaczać szybsze wykonanie każdego zadania i teoretycznie obsłużyć więcej zadań i więcej żądań serwera.

1

Im więcej, tym lepiej. Ponieważ języki programowania stają się coraz bardziej złożone i abstrakcyjne, wymagana jest większa moc obliczeniowa.

Atleat Jeff uważa, że ​​Quadcore is better.

3

Używamy apache na Linuksie, który przesyła proces do obsługi żądań. Odkryliśmy, że więcej rdzeni pomaga w zwiększeniu przepustowości, ponieważ redukują opóźnienia procesów oczekujących na umieszczenie w kolejce uruchamiania. Nie mam dużego doświadczenia z IIS, ale wyobrażam sobie, że ten sam scenariusz dotyczy puli wątków.

3

Mark Harrison powiedział:

Nie mam dużego doświadczenia z IIS, ale mogę sobie wyobrazić taki sam scenariusz dotyczy z puli wątków.

Rzeczywiście - więcej rdzeni = więcej wątków uruchomionych jednocześnie. Usługi IIS są z natury wielowątkowe i łatwo to wykorzystują.

Powiązane problemy