사이트를 구축하고 사용하다 보면 빨간 글씨의 '서버 사용량이 많습니다' 이거 보면 서버를 늘려야하나...
이런 생각 먼저 들었었는데.. 아래 몇가지 점검사항으로 asp.net을 최적화 할 수 있다
* 점검사항 *
c:\windows\Microsoft.NET\Framework\v2.0.50727\Config (.net FrameWork 에 맞는 경로를 선택)
1. 시간 단위의 메모리 초기화 : 아래 시간마다 메모리 초기화를 해줌
machine.config > processModel 파트
timeout="12:00:00"
ex) <processModel enable="true" timeout="12:00:00"/>
2. OutOfMemory Exception 발생 감지
machine.config > processModel 파트
<processModel autoConfig="true"/>
-->수정 : <processModel enable="true" memoryLimit="60"/>
※ 시스템 메모리의 60%이상을 ASP.NET(aspnet_wp)가 차지하면 어플리케이션들을 모두 리사이클 시키라는 것이다.
여기서 한가지 주의할 점은 ASP.NET의 메모리 사용한도가 2G라는 것이다.(32비트 OS의 경우에 그러하다. 64비트는 이런 제약
이 없다.) 즉 만약에 시스템에 메모리가 4G가 있다면 위의 설정에 따르면 2.4G가 한도가 되는데 ASP.NET은 2G가 한도이니
여전히 OutOfMemory Exception이 발생하게 된다. 즉 %로 설정을 하므로 최종 한도 값이 2G를 넘으면 안된다는 것이다.
(사실 시스템에는 ASP.NET혼자서 실행되고 있는것도 아니므로 실제는 훨씬 더 낮게 설정해야 한다.)
3. 응용 프로그램에 대해 큐에 대기시키는 최대 요청 수 변경
machine.config > httpruntime 파트
appRequestQueueLimit = 100
--> 수정 appRequestQueueLimit = 500
※ 응용프로그램 풀
- 여러개의 worker process를 하나의 풀에 다수의 worker process 를 지정할 수 있습니다.
응용프로그램 풀 단위로 worker process 재생, 실패감지, 복원, cpu 모니터링 등의 특성을 갖음
하지만 메모리에 등록을 시켜둔 후 사용 하므로 응용프로그램 풀의 갯수가 많아지면
메모리도 많이 차지하는 단점이 있습니다.
[출처] 서버 사용량이 많습니다.|작성자 연우빠