리눅스 관련팁 게시판입니다.
  • 웹미니 한줄 전광판 영역 입니다.
글 수 49

0

조회 수 : 4757 신고 : 0

작성자 : 어드민플레이
포인트 : 575 | 레벨 : 2
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>
소중한 댓글 부탁드립니다.
추천수 10단위당 메달이 1개씩 노출되고, 추천수에 따라 배경색이 변하며, 일정수의 추천수를 받을시 BEST 아이콘이 붙게됩니다.
추천수에 따른 배경색 보기 본문으로 바로가기
  • 추천수 50개이상
  • 추천수 30개이상
  • 추천수 20개이상
  • 추천수 10개이상
  • 추천수 3개이상
닫기

첫번째 댓글을 남겨주세요!

List of Articles
번호 제목 글쓴이 날짜 추천 수 조회 수sort
49 Linux APM 설치 (Compile) 3부 - PHP & Zend 설치 hhkwoong 2009-10-07   8263
48 리눅스에서 특정 파일을 제외하고 삭제하기 어드민플레이 2009-09-08   7887
47 /etc/passwd 구조 어드민플레이 2010-04-17 1 7490
46 Linux APM 설치 (Compile) 4부 - phpmyadmin 설치 hhkwoong 2009-10-07   6651
45 rewrite 모듈을 이욜한 서브도메인으로 홈페이지 운영하기 어드민플레이 2010-04-18   6624
44 아파치 컴파일 에러(apr-util) configure: error: cannet use an external APR-util with the bundled APR 어드민플레이 2010-04-18   6507
43 CentOS 5.3에 TTF 폰트 설치 하기 레드후디 2010-01-16 1 6403
42 crontab 사용 방법 어드민플레이 2009-09-08   6240
41 리눅스 계정 삭제, 접속 차단 어드민플레이 2009-09-08   6090
40 Linux APM 설치 (Compile) 1부 - MySQL 설치 [2] hhkwoong 2009-10-07   6015
39 squid 로 웹서버 가속하기..---== 강추 ==--- 어드민플레이 2010-04-18 1 5877
38 Linux APM 설치 (Compile) 2부 - Apache (httpd) 설치 hhkwoong 2009-10-07   5586
37 DNS 포워더 설정 어드민플레이 2010-04-17   5465
36 apache + oracle (오라클 DB 한글깨짐) 어드민플레이 2010-04-15   5159
35 vsftpd.conf 의 주요 설정 어드민플레이 2009-09-29   5103
34 CentOS5,Fedora7 네임서버 설정법 어드민플레이 2010-04-17   5088
33 apache2 worker 방식 client 수치 설정법 어드민플레이 2010-04-18   4757
32 apache log에 그림이미지 파일 로그 안남기기 [1] 어드민플레이 2010-04-18   4698
31 브라우저 접속 제한하기 어드민플레이 2010-04-18   4689
30 DNS TCP53, UDP53 용도 어드민플레이 2010-04-17   4633