[Apache] MPM - prefork 프로세스 개수 설정

 

 

 

Apache MPM - prefork

 

  • 자식 프로세스당 하나의 스레드를 사용하는 방식.
  • 프로세스 간 메모리를 공유하지 않아 안정적임.

 

prefork 설정 내용

<IfModule mpm_prefork_module>
	StartServers 50
	MinSpareServers 30
	MaxSpareServers 40
	ServerLimit 100
	MaxClients 100
	MaxRequestsPerChild 50
</IfModule>

 

StartServers - 아파치가 실행될 때 생성하는 자식 프로세스 수

MinSpareServers - 아파치가 유지하려는 최소 프로세스 수

MaxSpareServers - 아파치가 유지하려는 최대 프로세스 수

ServerLimit - 아파치가 생성 가능한 최대 프로세스 수

MaxClients - 동시에 접속할 수 있는 최대 client 수

MaxRequestsPerChild -  하나의 자식 프로세스가 받을 수 있는 최대 요청 개수

 

 

 

 테스트

 

위 prefork 설정을 기준으로 아파치를 구동 후 프로세스 개수를 확인해 보겠습니다.

설정대로, 구동 시 최초 50개의 프로세스가 생성이 되었으며,

이후 MaxSpareServers 수치인 40개로 떨어지는 것을 보실 수 있습니다.

현 설정에서의 안정적인 프로세스 개수는 MinSpareServers , MaxSpareServers 수치 사이인 30 ~ 40입니다. 

 

 

이번에는 테스트 URL에 부하를 주어 최대 프로세스가 얼마까지 올라가는지 확인해 보겠습니다/

부하는 아래 다른 서버에서 아래 명령어로 진행했습니다.

총 100명의 사용자가 각자 10000번 호출하는 내용입니다.

ab -n 10000 -c 100 http://192.168.219.101/index.html

 

("ab"에 대해 추가로 궁금하신 분은 아래 링크를 참고해 주시기 바랍니다.)

 


아파치 프로세스를 보시면 40개에서 급격히 증가하여 100까지 도달한 것을 확인하실 수 있습니다.

아래 이미지에서는 잘렸는데 이후 40개로 다시 떨어졌습니다.

 

댓글

Designed by JB FACTORY

loading