728x90
Apache MPM(prefork, worker, event)의 "#define DEFAULT_SERVER_LIMIT" 값을 변경하는 방법
Apache MPM(prefork, worker, event)의 DEFAULT_SERVER_LIMIT 값을 변경하려면 소스 코드를 수정하고 다시 빌드해야 합니다. 각 MPM의 설정 파일에서 해당 값이 정의되어 있습니다. 아래는 각 MPM의 DEFAULT_SERVER_LIMIT 값을 변경하는 방법입니다.
1. MPM common
- server/mpm_common.h 파일은 모든 MPM(Multi-Processing Module)에 공통으로 적용되는 설정을 담고 있는 헤더 파일입니다.
vim server/mpm_common.h
- DEFAULT_SERVER_LIMIT은 MPM에서 사용되는 서버의 최대 개수를 지정합니다. MPM 모듈마다 이 값이 다르게 설정될 수 있습니다. 예를 들어, prefork MPM에서는 DEFAULT_SERVER_LIMIT가 256으로 설정되어 있습니다.
- server/mpm_common.h 파일에서 DEFAULT_SERVER_LIMIT 값을 수정하면 해당 MPM 모듈의 최대 서버 개수가 변경됩니다.
- 이 파일을 수정하면 모든 MPM에 적용되는 공통 설정이 변경되므로 주의해야 합니다.
** server/mpm_common.h 파일은 모든 MPM에 공통적으로 적용되는 설정을 담고 있으며, DEFAULT_SERVER_LIMIT 값이 MPM 모듈 전체에 영향을 미칩니다.
2. MPM prefork
- prefork.c 파일을 엽니다. 이 파일은 server/mpm/prefork 디렉토리에 위치합니다.
vim server/mpm/worker/prefork.c
- DEFAULT_SERVER_LIMIT 매크로를 찾습니다.
- 매크로 값을 원하는 값으로 수정합니다.
3. MPM worker
- worker.c 파일을 엽니다. 이 파일은 server/mpm/worker 디렉토리에 위치합니다.
vim server/mpm/worker/worker.c
- DEFAULT_SERVER_LIMIT 매크로를 찾습니다.
- 매크로 값을 원하는 값으로 수정합니다.
4. MPM event
- event.c 파일을 엽니다. 이 파일은 server/mpm/event 디렉토리에 위치합니다.
vim server/mpm/worker/event.c
- DEFAULT_SERVER_LIMIT 매크로를 찾습니다.
- 매크로 값을 원하는 값으로 수정합니다.
수정이 완료되면 아파치를 다시 빌드하여 변경사항을 적용해야 합니다. 변경된 DEFAULT_SERVER_LIMIT 값은 해당 MPM의 동작을 제어하며, 동시 접속자 수 제한에 영향을 줄 수 있습니다. 값의 적절한 조정은 서버의 하드웨어 성능과 사용 패턴에 따라 달라집니다. 변경 후에는 적절한 테스트와 성능 모니터링을 통해 시스템의 안정성과 성능을 확인해야 합니다.
sed 명령어로 "#define DEFAULT_SERVER_LIMIT" 변경하는 방법
1. 아파치 소스 파일을 다운로드 합니다.
2. 아파치 소스 파일을 압축을 풉니다.
3. 아파치 소스 파일의 "server/mpm/[mpm_type]/[mpm_type].c" 파일을 엽니다.
4. "#define DEFAULT_SERVER_LIMIT [value]" 로 되어 있는 부분에서 [value] 값을 늘립니다.
- 아파치 소스 파일 디렉토리로 이동
cd /usr/local/src/httpd-2.4.57
- prefork
sed -i "s/#define DEFAULT_SERVER_LIMIT 256/#define DEFAULT_SERVER_LIMIT 2048/g" /usr/local/src/httpd-2.4.57/server/mpm/prefork/prefork.c
- worker
sed -i "s/#define DEFAULT_SERVER_LIMIT 16/#define DEFAULT_SERVER_LIMIT 256/g" /usr/local/src/httpd-2.4.57/server/mpm/worker/worker.c
- event
sed -i "s/#define DEFAULT_SERVER_LIMIT 16/#define DEFAULT_SERVER_LIMIT 256/g" /usr/local/src/httpd-2.4.57/server/mpm/event/event.c
5. 아파치 소스 파일을 컴파일합니다.
6. 아파치를 설치합니다.
7. 아파치를 재시작합니다.
728x90
'리눅스' 카테고리의 다른 글
CentOS 7에서 curl을 컴파일하여 HTTP/2를 지원하도록 설치하는 방법 (0) | 2023.06.28 |
---|---|
아파치(Apache)에서 HTTP/2 모듈 활성화하는 방법 (0) | 2023.06.28 |
아파치(Apache 2.4) 웹 서버에서 Protocols 지시자를 적용하는 방법 (0) | 2023.06.26 |
HTTP/2와 HTTP/3를 지원하는 SSL(TLS) 버전 (0) | 2023.06.26 |
CentOS 7에서 yum update를 실행할 때 kernel 패키지를 제외하는 방법 (0) | 2023.06.22 |