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
번호 제목 글쓴이 날짜 조회 수
88 (간단한 팁) 우분투에 Apache2 설치하기 ( apt-get ) 로키 2012.04.01 17606
87 *** glibc detected *** double free or corruption (!pre... ADMINPLAY 2010.05.03 26743
86 64bit 시스템에 ssl 설치 후 실행 시 X509_free 오류 ADMINPLAY 2008.10.07 15507
85 Address already in use: make_sock:could not bind to ad... ADMINPLAY 2009.01.10 23798
84 apache + oracle (오라클 DB 한글깨짐) ADMINPLAY 2010.02.24 19594
83 Apache - 도메인 포워딩 ADMINPLAY 2010.08.26 18807
82 Apache 1.3.12 httpd.conf 파일 한글설명 ADMINPLAY 2009.03.04 13361
81 apache 2.0.x , 2.2.x 버전대 max client 값 수정시 ADMINPLAY 2008.10.08 14799
80 Apache 2.2.17 (mod_url 하고 mod_rewrite 충돌) file ADMINPLAY 2011.08.18 20396
79 Apache 2.2.21 패치 (mod_proxy_ajp 패치와 apache killer... ADMINPLAY 2012.01.16 19641
78 apache cronolog를 이용한 Apache Log File 날짜 별로 생... ADMINPLAY 2012.01.16 23508
77 Apache expires 설정으로 브라우저 캐시 l2zeo 2013.03.18 11894
76 apache log 정리 ADMINPLAY 2008.12.14 13528
75 apache log에 그림이미지 파일 로그 안남기기 ADMINPLAY 2009.11.26 14666
74 Apache Make시 /usr/lib/libexpat.so: could not read sym... ADMINPLAY 2009.08.07 17943
73 Apache mod_deflate ADMINPLAY 2012.01.16 23387
72 apache server 2.2, Tomcat5.5 로드밸런싱 및 클러스터 ADMINPLAY 2009.12.10 19120
71 Apache Worker 방식의 이해 및 설정법 ADMINPLAY 2012.01.16 16955
70 Apache 로그레벨의 종류 ADMINPLAY 2012.01.16 20845
69 Apache 버전확인 ADMINPLAY 2008.12.23 15428
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234