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

아파치 2.x MaxClient 변경 작업

작성자 정보

  • 강무경 작성
  • 작성일

컨텐츠 정보

본문

안녕하세요...

매일같이 둘러만 보다 이렇게 처음으로 글을 써보는것 같습니다.

다름이 아니라 회사에서 동영상 서비스를 하는 웹사이트를 운영중인데...

서버 접속에 지연이 너무 많이 발생합니다.

지금 상태로 봐서는 동시 접속자가 너무 많은 것 같습니다.

그래서 찾아본 내용으로 MaxClient를 변경해라고 들었습니다.

설정 파일에서 MaxClient를 변경할려고 하니 여러개가 있더라구요...

mpm_prefork_module, mpm_worker_module, mem_beos_module

이렇게 있던데 문제는 모두 값이 다르다는 겁니다.

prefork_module 에 256으로 되어 있어서 512로 바꿨는데...

별다른 이상이 없습니다.

그래서 이래 저래 또 검색을 하기 시작했는데...

[프리포크방식]
vi server/mpm/prefork/prefork.c
#define DEFAULT_SERVER_LIMIT 256 을 #define DEFAULT_SERVER_LIMIT 1280 으로 수정
[워커방식]
vi server/mpm/worker/worker.c
#define DEFAULT_SERVER_LIMIT 16 을 #define DEFAULT_SERVER_LIMIT 32 로 수정
ChildProcess(32) * ThreadsPerChild(64) = 2048 Threads가 됩니다.

이렇게 수정 후 컴파일을 다시 해야 한다더라구요...

문제는 제가 리눅스를 잘 못다룬다는 겁니다.

겨우 디렉토리 생성이나 파일 복사, vi로 내용보기 등 정말 기본적인것만 할 줄 아는데...

컴파일을 해야 한다니...

문제는 잘못하다가 서비스가 안되면 그건 매우 큰 난리니까...ㅠㅜ

아파치를 두개 돌릴 수 있나요?

소스를 수정해서 아파치를 컴파일후 설치할때 현재 웹서버가 설치되있는 /web에 하지 말고 /web1280 이라는 디렉토리를
만들어서 설치한 후 conf 파일을 기존의 것을 복사해서 사용하는게 어떤가 싶습니다. (document root 만 기존의 것으로 변경해주면 될듯)

그러한 문제 때문에 이렇게 얘기를 해주는데가 있어서요...

기존에는 /web에 서비스를 받고 있는데...

새로운 아파치는 /web1280으로 디렉토리 만들어서 서비스 해라는건가요?

그럼 아파치가 두개 돌아간다는 건지...

아니면 하나만 돌아가는데 기존 /web로 서비스 받던걸 /web1280으로 서비스 받아라는 건지...

그러다 이상이 생기면 디렉토리 명만 바꾸면 원래 서버로 돌아간다는건지...

그리고 php도 다시 컴파일을 해야 한다고 하던데 맞나요?

그건또 어떻게 해야 하는건지...

괜히 잘 돌아가던거 날려 먹는건 아닌지 걱정이 되서요...

서비스 멈추면 안되니까...ㅠㅜ

조금 자세히 설명 부탁드립니다.

어디엘 봐도 그냥 다시 컴파일 해야 합니다.

이렇게 말만 나와 있지 저에게는 매우 위험한 일이라서요...

많은 조언 부탁드립니다.

관련자료

댓글 1

호롯님의 댓글

  • 호롯
  • 작성일
저도 비슷한 경우가 있었는데요..
apache와 php 둘다 재 컴파일 해주는건 맞습니다.
그리고 apache 컴파일시 다른 디렉토리로 할 필요 없이 기존 설치 되어 있는곳으로 하시면 됩니다. 설치전 httpd.conf 백업해 두시구요..
그리고 apache 컴파일 검색에 나왔던 것 처럼 /apache/include/httpd.h의 define HARD_SERVER_LIMIT 의 수치를 조정해 주시면 됩니다. 운영중에 컴파일이 가능하구요.. restart 해주시기 전까지 적용이 안되므로 크게 걱정 하시지 않아도 됩니다.

허접한 답변이였습니다..읽어 주셔서 감사~ ㅎ

공지사항


뉴스광장


  • 현재 회원수 :  60,133 명
  • 현재 강좌수 :  36,171 개
  • 현재 접속자 :  183 명