MaxClient 값과 KeepAlive 라고 본다.
그중 KeepAlive 는 정적 파일을 경우 Off, 동적 파일을 일 경우 On 이 좋다고 한다.
웬만한 httpd 서버는 php 와 연동하여 사용하기 때문에 On으로 설정하는 게 좋을 것 같다.
문제는 MaxClient 값을 어떻게 구할 것인가이다.
MaxClient 값 구하기 스크립트
#/bin/sh TotalMem=`free -m | grep Mem: | awk {'print $2'}` TotalMem80per=$(echo "$TotalMem*0.8"|bc) #pa aux 의 6번째 값이 RSS 인데, 이 값을 가져옴. TotalHttpMem=`ps aux | grep httpd | grep -v grep | awk '{print $6}' | awk '{total = total + $1} END {print total/1024}'` httpCount=`ps aux | grep httpd | grep -v grep | wc -l` averageHttpMem=$(echo "$TotalHttpMem / $httpCount" | bc) MaxClient=$(echo "$TotalMem80per / $averageHttpMem" | bc) echo "총 메모리 : " $TotalMem echo "총 메모리의 80% : " $TotalMem80per echo "http use mem total : "$TotalHttpMem echo "http process count : "$httpCount echo "http use mem average : "$averageHttpMem echo "MaxClients " $MaxClient
내가 세운 공식은 다음과 같다.
총메모리의 80% / httpd의 평균 메모리 사용량
서버 자체가 웹서버 전용이라면 메모리의 80%는 빼도 상관 없을 듯 하다.
참고 사이트
http://openlife.tistory.com/340
http://jjosh.tistory.com/15
https://kldp.org/node/28074
http://helloworld.naver.com/helloworld/132178
RES의 의미
RES : 물리적인 메모리를 사용하는 크기
VIRT : SWAP 영역에서 사용하는 메모리 + shared + swapped를 합친것
http://www.tuning-java.com/454
----
기타 찾아본 최적화 스크립트
https://github.com/gusmaskowitz/apachetuner
https://github.com/gusmaskowitz/apachebuddy.pl
http://surniaulula.com/2012/11/09/check-apache-httpd-mpm-config-limits/