제니퍼: 7. 성능 관리 퀴즈 첫 번째 문제 (닷넷 개발자 컨퍼런스)
제 2회 닷넷 개발자 개발자 컨퍼런스의 제 세션시간에 냈었던 퀴즈 문제입니다. 나름 ^^ 재미있게 진행하려고 상품을 걸고 퀴즈 문제를 곁들여서 냈는데 분위기만 더 썰렁해지고 말았습니다. 정말 모르셔서 답을 안하신 것인지, 쑥스러우셔서 그러신 것인지 모르겠지만.
그래도 나름 심각한 정도가 아닌가 하는 생각이 들어서 가능한 많은 분들이 알 수 있도록 여기에 다시 퀴즈 문제를 실어봅니다. 답은 공개안합니다. 댓글로 답을 쓰지 마시고요. (쓰시면 삭제합니다.) 혹시 정말 모르시겠거나 맞는지 알고 싶으시다면 메일 주십시오.
[퀴즈 1] 왜 10개까지만 요청이 제한되는가?
ASP.NET으로 웹 페이지를 하나 만들고, 코드는 단지 Thread.Sleep(20 * 1000);만 넣은 상태입니다. 클라이언트 응용 프로그램에서는 스레드 100개를 만들어서 해당 웹 페이지에 요청을 동시에 보냅니다.
이때 ASP.NET을 호스팅하는 환경은 Windows 7 + IIS 7.5 + CLR 2.0 + 1개의 1 Core CPU입니다.
정상적이라면 20개 정도의 동시 요청이 처리되고 있어야 하는데, 확인해 보면 10까지만 동시 요청이 처리됩니다. 그 이유는? (환경만 일치한다면, 직접 확인해 보실 수 있습니다.)
* 아래 화면은, 해당 IIS 서버에 제니퍼를 설치하고 확인하고 있는 결과를 보여줍니다. 보시는 것처럼 동시 요청이 10개까지만 처리되고 있습니다.