IIS에서 32 비트 응용 프로그램 풀이 더 효율적인 이유는 무엇입니까? [닫은]


12

IIS에서 두 개의 서로 다른 ASP.NET 웹 응용 프로그램으로로드 테스트를 실행했습니다. 테스트는 5,10,25 및 250 개의 사용자 에이전트로 실행됩니다. 8GB RAM, Windows 7 Ultimate x64 상자에서 테스트했습니다. IIS와로드 테스트 프로젝트를 모두 실행하는 동일한 상자

나는 많은 실행을했고 데이터는 매우 일관성이 있습니다. 모든 부하에 대해 응용 프로그램 풀에서 "32 비트 응용 프로그램 사용"을 True로 설정하면 "평균 페이지 시간 (초)"이 더 낮고 "평균 응답 시간 (초)"이 더 낮습니다. 하중이 높을수록 차이가 더 뚜렷해진다. 로드가 매우 높은 경우 응용 프로그램 풀이 64 비트 인 경우 웹 응용 프로그램에서 오류 (503)가 발생하기 시작하지만 32 비트로 설정된 경우 계속 유지할 수 있습니다.

32 비트 앱 풀이 훨씬 더 효율적인 이유는 무엇입니까? 응용 프로그램 풀의 기본값이 32 비트가 아닌 이유는 무엇입니까?

답변:


16

64 비트 메모리 포인터 및 기타 관련 데이터 구조는 32 비트에 비해 두 배나 큽니다. 또한 64 비트 작업자 스레드는 모드를 전환 할 때 32 비트 코드 또는 DLL에 액세스해야 할 때마다 페널티를받습니다. (WoW64와 썽킹 연구)

64 비트를 사용하는 것의 가장 큰 장점은 (하지만 유일한 것은 아님) 훨씬 더 많은 메모리 를 처리 할 수 ​​있다는 입니다. 앱 풀이 2GB 또는 3GB 이상의 메모리를 사용하지 않고 특별히 64 비트 코드를 실행할 필요가없는 경우 64 비트로 전환해야 할 이유가 없을 것입니다. 기술이 발전함에 따라 칩 제조업체는 성능을 향상시키기 위해 특히 64 비트 프로세서를 위해 추가 CPU 레지스터를 만들고 있지만 일반적으로 더 많은 비트를 사용한다고해서 놀라운 성능 향상은 없습니다. 실제로 방금 목격 한대로 더 나빠질 수 있습니다.

64 비트 = Abrams Tank

32 비트 = Toyota Prius

하나는 더 많은 작업을 수행 할 수 있지만 다른 하나는 맥도날드의 드라이브 스루를 통해 맞출 수 있습니다.


4
나는 nitpick을 싫어하지만 둘 다 McDonald 's drive-thru를 통과 할 수 있습니다. 벽을 쓰러 뜨리지 않고 그냥하는 것뿐입니다.
HopelessN00b

3
나는 nitpick을 싫어하지만 그것이 맞는 정의에 크게 의존한다고 생각합니다! 우리가 McDonald 's drive-thru spec에 의해 정의 된대로 "적절한 크기와 모양이 되려면":
GraemeMiller 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.