문제

듀얼 대 듀얼에 대한 논의Quadcore는 Quadcore 자체만큼 오래되었으며 대답은 일반적으로 "시나리오에 따라 다릅니다"입니다.따라서 여기서 시나리오는 웹 서버(Windows 2003(x32인지 x64인지 확실하지 않음), 4GB RAM, IIS, ASP.net 3.0)입니다.

내 생각에는 요청이 일반적으로 다소 가볍기 때문에 웹 서버의 CPU가 그렇게 빠를 필요는 없으므로 작은 요청이 많기 때문에 더 많은 (느린) 코어를 갖는 것이 더 나은 선택이 될 것입니다.

그러나 저는 IIS 로드 밸런싱에 대한 경험이 많지 않고 제가 잘못된 선택을 했다는 사실을 알기 위해 많은 돈을 쓰고 싶지 않기 때문에 좀 더 경험이 있는 사람이 여부에 대해 논평할 수 있습니까? 더 느리거나 더 적은 코어가 더 좋을까요?

도움이 되었습니까?

해결책

웹서버와 같은 경우 각 연결을 처리하는 작업을 나누는 것은 (상대적으로) 쉽습니다.웹 서버는 병렬 코드를 사용하는 가장 일반적인(그리고 다듬어진) 용도 중 하나라고 해도 과언이 아닙니다.그리고 많은 처리를 여러 개별 스레드로 분할할 수 있으므로 실제로 더 많은 코어가 도움이 됩니다.이것이 공유 호스팅이 가능한 가장 큰 이유 중 하나입니다.IIS 및 Apache와 같은 서버 소프트웨어가 요청을 병렬로 실행할 수 없다면 모든 페이지 요청이 대기열 방식으로 처리되어야 하므로 로드 시간이 견딜 수 없을 정도로 느려질 수 있습니다.

이는 Windows 2008 Server Enterprise와 같은 고급 서버 운영 체제가 64개 코어 및 2TB RAM과 같은 것을 지원하는 이유이기도 합니다.이는 실제로 많은 코어를 활용할 수 있는 애플리케이션입니다.

또한 각 요청의 CPU 로드가 낮을 가능성이 높으므로 (일부 응용 프로그램의 경우) 더 느린 코어를 사용해도 됩니다.그러나 분명히 각 코어가 더 빠르다는 것은 각 작업을 더 빨리 완료할 수 있고 이론적으로 더 많은 작업과 더 많은 서버 요청을 처리할 수 있다는 것을 의미할 수 있습니다.

다른 팁

우리는 요청을 처리하기 위해 프로세스를 분기하는 Linux에서 Apache를 사용합니다.코어가 많을수록 실행 대기열에 배치되기를 기다리는 프로세스의 대기 시간이 줄어들기 때문에 처리량에 도움이 된다는 사실을 발견했습니다.저는 IIS에 대한 경험이 많지 않지만 스레드 풀에도 동일한 시나리오가 적용된다고 생각합니다.

마크 해리슨은 이렇게 말했습니다.

저는 IIS에 대한 경험이 많지 않지만 스레드 풀에도 동일한 시나리오가 적용된다고 생각합니다.

실제로 - 더 많은 코어 = 더 많은 스레드가 동시에 실행됩니다.IIS는 본질적으로 다중 스레드이므로 이를 쉽게 활용합니다.

많을수록 좋습니다.프로그래밍 언어가 더욱 복잡해지고 추상화되기 시작하면 더 많은 처리 능력이 필요하게 됩니다.

Atleat Jeff는 믿습니다. 쿼드코어가 더 좋음.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top