IIS 7.x 응용 프로그램 풀 모범 사례 프로세스를 언제 허용해야합니까? 언제하지

새 서버에 여러 사이트를 배포하려고합니다. 응용 프로그램 풀에 대해 다음과 같은 질문이 있습니다.

  1. 웹 사이트 당 하나의 응용 프로그램 풀을 갖는 것이 좋습니다. 이 접근법에 대한주의 사항이 있습니까? 하나의 응용 프로그램 풀이 모든 CPU, 메모리 등을 혼용합니까?

  2. 응용 프로그램 풀에서 여러 작업자 프로세스를 언제 허용해야합니까? 언제하지 말아야합니까?

  3. 하나의 응용 프로그램 풀이 다른 응용 프로그램 풀을 방해하지 못하도록 개인 메모리 제한을 사용할 수 있습니까? 너무 낮게 설정하면 유효한 요청을받지 않고 유효한 요청이 응용 프로그램 풀을 재활용해야합니까?

  4. 개인용 메모리와 가상 메모리 제한의 차이점은 무엇입니까?

  5. 사이트 당 하나의 응용 프로그램 풀을 실행하지 않아야하는 강력한 이유가 있습니까?



답변

1) 웹 사이트 당 응용 프로그램 풀을 갖는 것이 좋습니다. 이 접근법에 대한주의 사항이 있습니까? 예를 들어 하나의 응용 프로그램 풀이 모든 CPU, 메모리, 기타 등을 숨길 수 있습니까?

이것은 꽤 좋은 접근법입니다. 다른 “사이트”(응용 프로그램)가 동일한 풀을 공유한다고 생각할만한 이유는 없습니다. 그들이 어떤 종류의 단일 자원을 공유 할 필요가 없다면. 하나의 응용 프로그램은 이론적으로 많은 CPU 또는 메모리를 사용할 수 있지만 응용 프로그램이 풀링되는 방식을 변경해도 큰 영향을 미치지는 않습니다.

2) 응용 프로그램 풀에서 여러 작업자 프로세스를 허용해야하는시기 언제하지 말아야합니까?

기본 설정을 사용하는 것이 가장 좋습니다. 실제로 무엇을하고 있는지 알지 못하면 실제로 웹 사이트 / 애플리케이션에 부정적인 영향을 줄 수 있습니다.

3) 하나의 응용 프로그램 풀이 다른 응용 프로그램 풀을 방해하지 않도록 개인 메모리 제한을 사용할 수 있습니까? 너무 낮게 설정하면 유효한 요청을받지 않고 유효한 요청이 응용 프로그램 풀을 재활용해야합니까?

a) 이론적으로

b) 예, 낮게 설정하면 부정적인 영향을 줄 수 있습니다. 다시 말하지만, 특정한 필요가없고,하고있는 일을 알지 못한다면, 그냥 내버려 두십시오.

4) 개인 메모리와 가상 메모리 제한의 차이점은 무엇입니까?

매우 복잡합니다. 여기에 도움이 될만한 빠른 게시물이 있습니다. http://cybernetnews.com/cybernotes-windows-memory-usage-explained/

5) 사이트 당 하나의 응용 프로그램 풀을 실행하지 않아야하는 강력한 이유가 있습니까?

다시 한 번, 내가 생각할 수있는 유일한 이유는 여러 응용 프로그램에 필요한 일종의 “공유 리소스”가있는 경우 동일한 프로세스에서 실행하려는 것입니다.

범용 응용 프로그램 및 웹 사이트의 경우 IIS는 기본값으로 설정되어 있습니다.

****최신 정보****

# 2에 대한 추가 정보 요청과 관련하여 특별한 요구가없는 한이 작업을 수행해서는 안됩니다. 시간이 오래 걸리는 서버 작업의 경우에도 여러 스레드를 사용하여 요청이 처리되며 “비동기 요청”을 사용하여 오래 실행되는 작업 (다른 요청을 처리하기 위해 스레드 풀 스레드를 해제)을 처리하려고합니다. 실제로 단일 풀에 대해 여러 프로세스를 허용해야 할 이유는 없습니다.

여러 프로세스를 이야기하기 시작하면 프로세스 1에서 세션이 활성 상태이므로 세션 상태가 손실되지만 요청은 프로세스 2에서 처리되고 있습니다. 또는 더 나쁜 방법은 프로세스 간 의사 소통을하는 것은 정말 고통스러운 일입니다.

여러 프로세스의 이유와 관련하여 무엇을 가져가더라도 다른 프로세스를 실행하는 대신 프로세스를 처리하는 더 좋은 방법이 기꺼이 내기 것입니다.


답변

항상 웹 사이트 전용 응용 프로그램 풀을 구성합니다. 저렴한 웹 사이트 호스팅 시나리오는 응용 프로그램 풀당 많은 수의 사이트를 갖는 것이 합리적입니다.

메모리 제한은 실제로 사이트가 모든 시스템 리소스를 사용하지 못하도록하는 기본 안전 임계 값일뿐입니다. x86 응용 프로그램의 자연스러운 2GB 메모리 상한이 있기 때문에 이것은 IIS 6.0 x86보다 Windows 2008 R2 x64에서 잠재적 인 문제입니다. IIS 7.5에서는 메모리 누수가있는 응용 프로그램이 방대한 양의 메모리를 사용하는 것이 훨씬 쉽습니다.

나는 또한 응용 프로그램 풀을 재활용하는 팬이 아닙니다. 응용 프로그램 풀이 있고 실행중인 유일한 응용 프로그램 인 경우 코드에 아무런 문제가 없으면 응용 프로그램 풀을 재활용 할 필요가 없습니다. 응용 프로그램에 결함이있는 경우 궁극적으로 적절한 조치는 코드를 수정하는 것입니다.


답변