기술지원 문의

동시접속자가 얼마나 가능합니까?
안재광 / 2004-05-12 09:29

resin 2.x 버전을 사용하고 있습니다.
저희가 서비스 하는 프로그램에 상당히 많은 접속이 이루어지고 있습니다.
왜냐하면 클라이언트쪽 프로그램에서 1분 혹은 5분 단위로 request를 하기 때문입니다.
윈도우 2000 서버에서 운영하고 있는데 레진의 java process를 보면 메모리는 약 수 십 메가 정도 사용하고
thread 수는 약 200~300 개 정도 됩니다. 메모리도 충분하고 CPU 점유율도 많이 사용하지는 않습니다.
사용자가 하루에 약 13~15만 명 정도 되고 서버는 동일 기종 3대를 L4로 묶었습니다.
1분 단위로 request를 할 때 보면 커넥션이 안되는 경우가 많이 발생합니다. 그래서, 시간을 5분 단위로 request 하도록 했습니다.
그러니까, 괜찮습니다. 분 당 request 수가 많은 것이 문제가 되는 것 같은데, 레진에서 감당을 못하는 것인가요?
netstat -an | find \":80\" 을 해서 80 포트 연결수를 보면 1분 단위 일 때나, 5분 단위 일때나 모두 1400여개 정도 됩니다.
레진의 설정값(thread 수, timeout 시간 등)을 이리저리 조정해 보아도 마찬가지 입니다.
우리 계산으로는 1분 단위 일 때 1분간 서버당 약 4만 5천 개 정도의 request가 오게 되어 있습니다.
저희는 처음에는 CPU부하나 메모리 쪽에 문제가 되지 않을까 했는데 막상 서비스를 해보니 그 쪽에는 문제가 없네요.
netstat -an으로 봤을때 connection 수가 더 많아야 될 텐데... 그것이 아닌가요?
아니면 윈도우 서버에 connection 수에 한계가 있는 것인가요?
아니면 resin 튜닝이 더 필요한가요?

좋은 답변을 주시면 좋겠습니다.
감사합니다.

[Re]동시접속자가 얼마나 가능합니까?
관리자 / 2004-05-13 09:40

보통 OS를  kernel parameter turning(socket performance turning)등을 통해 web service를 하는데 최적의 상태로 만듭니다.

이 부분에 대해서는 이곳 보다는 다른 곳(해당 전문업체)에서 좋은 정보를 얻으리라고 생각 되어집니다.

Resin에 대한 튜닝은 Resin status의 모니터링등을 통해 pool parameter, thread, session parameter등을 조정하여 최적화 합니다.

튜닝에 대해서는 그때 그때 마다 변수가 많기 때문에 지속적으로 관리하는 것이 보통입니다.

그래서, 실제 서비스하기전에 부하테스트 툴을 이용해 예상되는 부하를 주어 최적화값을 찾아 튜닝 하기도 합니다.

그럼. 수고하세요