Skip to content

조회 수 16069 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
ThreadLimit 은 각 설정된 스레드의 자식 프로세스가 가질 수 있는 최대 값입니다. 만약
ThreadLimit 가 ThreadsPerChild 도 보다 높게 설정되면 불필요한 메모리가 할당되어
비효율적이 될 수 있습니다. 또 ThreadLimit 와 ThreadsPerChild 가 동시에 시스템이
처리할 수 있는 것보다 높게 설정되면 안정적이지 못하게 운영될 수 있습니다. ThreadLmit
은 HP 문서에서도 언급하신것과 같이 20000 으로 컴파일될때 설정되어 있습니다.
ThreadsPerChild 의 기본 값은 64 입니다.이것은 자식 프로세스마다 생성할 스레드
갯수를 정의하는 것입니다. 그러므로 ThreadLimit 은 전체 스레드수 제한 갯수는 아닙니다.
StartServers 는 초기 아파치를 구동할 당시의 자식 프로세스를 설정하는 것입니다.
ServerLimit 은 자식프로세스와 연관지어 생각하시면 됩니다. 그러면 하나의
자식 프로세스가 생성할 수 있는 스레드 제한을 ThreadsPerchild 에서 정의합니다.
ServerLimit 은 Active 한 자식 프로세스를 제한 하는 것으로 보시면 됩니다.
보통 Active 한 프로세스는 MaxClient 를 ThreadsPerchild 값으로 나눈 정도로
생각하게 됩니다. 예를 들어, MaxClient 가 150 이고 ThreadsPerchild 가 25 라면
ServerLimit 의 적정수치는 6 이 될 것입니다.

그리고 MinSpareThreads 는 ThreadsPerChild 랑 같은 값으로 맞춰주시면 됩니다.
좀 혼돈스러운게 프로세스 포크 방식과 스레드 방식에서 해당 지시어를 공용으로 사용하다
보니 좀 복잡한 부분이 있습니다. 이 부분은 나중에 제가 시간이 되는대로 각 MPM 의
설정 값에 대해 설명하는 문서를 작성해 볼까 합니다.

일단 말씀하셨던 하드웨어 스펙은 상당히 좋더군요. 사용자 1800명에 동시접속 200 명
정도면 하드웨어로서는 전혀 손색이 없습니다. (오히려 과분할 정도이죠)
설정값은 명확히 말씀드리기가 힘듭니다.

동시접속 500 명을 기준으로 한다면

ServerLimit 16
StartServers 8
MaxClients 512
MinSpareThreads 32
MaxSpareThreads 64
ThreadsPerChild 32

이 정도면 어떨까요? 하드웨어 성능도 워낙 좋아서..
실제 운영을 하시면서 그에 맞는 설정을 하셔야 합니다. 그리고 필요에 따라 자료에서
언급한 것과 같이 커널 설정도 하실 수 있습니다.

실제 운영하시면서 관련 내용을 공유해 주시면 다른 분들한테도 도움이 될것 같습니다.
추후에 CaseStudy 라는 것을 하나 오픈하려고 하는데 그때 이번에 운영
하시면서 겪었던 내용을 문서로 남겨주시면 다른 유저분들이 큰 도움이 되지
않을까 생각합니다.

CREATE database inztimes;
GRANT all privileges on inztimes.* TO inztimes@localhost IDENTIFIED BY 'qkdthdrnr';

CREATE database tradenz;
GRANT all privileges on tradenz.* TO tradenz@localhost IDENTIFIED BY 'qkdthdrnr';



동시사용자 1000 명을 기준으로 한다면... 만약
worker 방식에서 아래처럼 하면 될련지요?

# Connect User 1000
<IfModule worker.c>
ServerLimit 16
StartServers 10
MaxClients 1024
MinSpareThreads 64
MaxSpareThreads 100
ThreadsPerChild 64
MaxRequestsPerChild 0
</IfModule>

List of Articles
번호 제목 글쓴이 날짜 조회 수
48 RedirectMatch (도메인포워딩) ADMINPLAY 2009.01.23 15435
47 mod_gzip, mod_deflate ADMINPLAY 2010.07.29 19117
46 mod_deflate 설정 ADMINPLAY 2011.03.18 21236
45 make[2]: *** [htpasswd] 오류 1 , make[1]: *** [all-rec... ADMINPLAY 2009.08.07 27110
44 KeepAlive 설정 및 정의 ADMINPLAY 2012.01.16 19891
43 httpd.conf 파일에 대한 설명 / 번역 ADMINPLAY 2008.10.08 14196
42 h264 스트리밍 서버 구축(리눅스,아파치) (실시간 아님, ... ADMINPLAY 2012.08.13 17175
41 expires설정으로 브라우저캐시 ADMINPLAY 2009.04.18 14662
40 CGI 퍼미션 으로 웹페이지 열리지 않음 ADMINPLAY 2009.01.12 14674
39 CGI 오류: Premature end of script headers (Internal Se... 1 ADMINPLAY 2008.12.14 14127
38 CentOS 5.X 에 MRTG설치 할때 한글 문제 ADMINPLAY 2014.06.06 6878
37 AWSTATS 설치 ADMINPLAY 2008.12.25 23746
36 AWSTATS 국가별 사용자 분석 ADMINPLAY 2008.12.25 14463
35 APM설치 후 80포트가 연결이 안되요....ㅜㅜ 1 kimbongsoo 2013.02.14 9803
34 APM 기본설치후 아파치 실행에러 httpd: Could not determ... ADMINPLAY 2009.08.08 21875
33 APM + Snort + ADODB + BASE + oinkmaster 설치 l2zeo 2010.05.29 20816
32 Apache의 Indexes된 페이지에서 한글표시 file ADMINPLAY 2009.05.07 16291
31 apache가 worker 모드인지 prefork 모드로 동작하는지 확인 1 file l2zeo 2013.01.21 17467
30 Apache: client denied by server configuration ADMINPLAY 2010.10.25 21665
» apache2 worker 방식 client 수치 설정법 ADMINPLAY 2009.11.26 16069
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234