WEB WAS/WEB

[아파치] MPM 모듈로 튜닝하기

홍또~ 2020. 6. 7. 04:53

1.개요

서버를 운영하다보면, 아파치의 기본설정만으로는 많은 동접자가 몰릴경우 

서버 부하로인해 감당하지 못하는 경우가 있다.

이때 아파치모듈중 하나인 MPM 모듈을 통하여 아파치의 성능을 향상할 수 있다.

 

2.본론

MPM 모듈은 여러가지가 있는데 그중 세가지를 소개하겠다.

사용을 위해 httpd.conf에 입력하거나, mpm관련 주석을 제거하고 httpd-mpm.conf에서 설정하면 된다.

만약 본인이 구성한 Web이아니라 어떤 모듈을 쓰는지 궁금하다면,

apachectl -V | grep -i mpm 명령어를 입력해서 확인할 수 있다.

1) prefork 모듈 - 프로세스 방식

프로세스를 새로 생성하는 방식이라 메모리 공간을 독립적으로 사용

<IfModule mpm_prefork_module>
    StartServers             5
    MinSpareServers          5
    MaxSpareServers         10
    MaxRequestWorkers      250
    MaxConnectionsPerChild   0
</IfModule>

2) worker 모듈 - 쓰레드 방식

메모리 등의 리소스 활용에 유리

<IfModule mpm_worker_module>
    StartServers            32
    ServerLimit             32
    MaxClients 4096
    MinSpareThreads        128
    MaxSpareThreads        512
    ThreadLimit            512
    ThreadsPerChild        128
    MaxConnectionsPerChild   0
</IfModule>

3) event 모듈 -  prefork와 worker의 장점을 취한 방식

<IfModule mpm_event_module>
    StartServers             3
    MinSpareThreads         75
    MaxSpareThreads        250
    ThreadsPerChild         25
    MaxRequestWorkers      400
    MaxConnectionsPerChild   0
</IfModule>

3.결론

서버의 사용목적에 맞게 방식을 선택해 튜닝하면 된다.