질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

apache 관련 질문 올립니다.

작성자 정보

  • 찬이 작성
  • 작성일

컨텐츠 정보

본문

관리하는 서버가 apache 2.0.55 버전을 사용하고 있습니다.
그런데 몇가지 궁금한게 있어서 질문을 드립니다.

1. 첫번째 질문드립니다.
현재 아파치는 worker mpm 으로 컴파일 하였으며 DEFAULT_SERVER_LIMIT 는 64 로 컴파일하였고
DEFAULT_THREAD_LIMIT 는 64로 컴파일 하여 총 maxclient 는 4096 개까지 가능합니다.
현재 운영중인 서버는 인스턴스가 6개가 돌아갑니다.
즉 httpd.conf 파일을 복사해서 내용을 변경후 아래와 같이 시작한것으로 보시면 됩니다.

/usr/local/apache/bin/httpd -f /usr/local/apache/conf/httpd_1.conf
/usr/local/apache/bin/httpd -f /usr/local/apache/conf/httpd_2.conf
/usr/local/apache/bin/httpd -f /usr/local/apache/conf/httpd_3.conf
/usr/local/apache/bin/httpd -f /usr/local/apache/conf/httpd_4.conf
/usr/local/apache/bin/httpd -f /usr/local/apache/conf/httpd_5.conf
/usr/local/apache/bin/httpd -f /usr/local/apache/conf/httpd_6.conf

그런데 궁금한게 현재 아파치에서 max_client 는 최대 4096개까지 가능한데 위와같이 각각의 인스턴스별로 실행했을경우 4096 개를 나눠서 사용하는건지 모르겠습니다.
만약 maxclient 4096 개를 공유해서 사용한다면 각각의 httpd_x.conf 파일의 maxclient 의 합이 4096 개가 되야 하는데 이게 맞는지 모르겠네요..
현재 제가 운영하는 서버는 인스턴스별 즉 httpd_1.conf ~ httpd_6.conf 까지의 6개의 환경설정파일의 maxclient가 모두 1000 개로 설정되어 있는데 이럴경우에는 총 6000 개의 maxclient 가 필요한데 현재 아파치가 define 된 maxclient 는 4096 개이므로 6000 개를 모두 수용할수 없다는 생각이 드는데 제 생각이 맞는지 모르겠습니다.

2. 두번째 질문드립니다.
두번째 질문은 서버의 max_client 수용 및 부하테스트를 위해 같은 네트웍 대역에서의 외부에서 스캔을 뿌렸습니다.
그런데 httpd 프로세스가 4개 이상은 안올라가네요. 물론 access.log 나 error.log 에서는 스캔로그가 남는데 httpd 프로세스는 4~5개 이렇게만 보이네요.

root 25890 0.0 0.3 15:50 0:00 /www/bin/httpd -k start
nobody 25891 0.0 0.3 15:50 0:00 /www/bin/httpd -k start
nobody 25892 0.0 0.3 15:50 0:00 /www/bin/httpd -k start
nobody 25893 0.0 0.3 15:50 0:00 /www/bin/httpd -k start

쓰레드 방식일경우 원래 이런건가요?
제가 test 하려고 했던것은 외부에서 스캔을 때려 max_client 에 도달했을경우 페이지가 정상적으로 표시되지 않는것을 테스트하려고 했던것인데 access.log 나 error.log 에 로그는 정상적으로 남으나 httpd 는 4~5개로 동일합니다. 즉 maxclient 에 도달해서 페이지가 안나오는 것을 테스트해볼수가 없네요.. maxclient 에 도달해서 페이지가 안나오는것을 내부적으로 테스트하기위한 방법이 뭐가 있을까요?

그리고 만약 쓰레드 방식이 원래 그런거라면 httpd 의 갯수를 확인하려면 어떻게 해야 하는지 알려주시면 감사하겠습니다

3. 세번째 질문드립니다.

현재 아파치 max_client 를 최적화를 하기 위해 테스트 중인데 DEFAULT_SERVER_LIMIT 는 64 와
DEFAULT_THREAD_LIMIT 는 64 로 총 4096 개를 수용할수 있게 컴파일 하였습니다.
그리고 httpd.conf 에서 keepalive 는 on 이고 KeepAliveTimeout 는 15초로 설정하였습니다.

4096개의 max_client 컴파일 했을경우 성능이 괜찮을지 그리고 max_client 8192 개로 늘렸을 경우에는 서버의 성능에 미치는 영향을 알고싶습니다.

4. 마지막 질문드립니다.max_client 값을 아예 없애려고 하는데 가능할까요?
가능하다면 어떤식으로 해야하는지알려주시면 감사하겠습니다.

도움 부탁드리겠습니다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,070 명
  • 현재 강좌수 :  35,986 개
  • 현재 접속자 :  327 명