리눅스

Total 331
Today 0
profile_image
슈퍼아이피
11-10-11 08:30 0개 13회
일반문서
아파치 httpd.conf 상세분석 TIP

서버처리시간은 짧은데 웹브라우저 로딩시간은 긴경우.

원인은 html 렌더링과 이미지 로딩 시간이 길어서이다.

html 렌더링은 중첩 table을 줄이고 이미지 로딩시간은 expires 설정을 하면 괜찮아진다.

웹브라우저에서 table 태그는 </table>로 닫기 까지 렌더링을 시작하지 않는다.

===================================================================================================

이미지가 상당히 많은 사이트라면 KeepAlive On를 Off로 바꾸면 좋다.

===================================================================================================

httpd.conf 파일의 맨 마지막에 추가 해주고 아래 명령어 실행

추가내용

ExpiresActive On

ExpiresByType image/bmp "access plus 1 month"
ExpiresByType image/cgm "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/tiff "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType video/mpeg "access plus 1 month"
ExpiresByType video/quicktime "access plus 1 month"
ExpiresByType video/x-msvideo "access plus 1 month"
ExpiresByType audio/basic "access plus 1 month"
ExpiresByType audio/midi "access plus 1 month"
ExpiresByType audio/mpeg "access plus 1 month"
ExpiresByType audio/x-aiff "access plus 1 month"
ExpiresByType audio/x-mpegurl "access plus 1 month"
ExpiresByType audio/x-pn-realaudio "access plus 1 month"
ExpiresByType audio/x-wav  "access plus 1 month"

ExpiresByType application/x-shockwave-flash  "access plus 1 month"

아래 명령어 실행

[root@hsw-0344 slow_query]# /usr/local/apache/bin/apachectl configtest
Syntax OK

[root@hsw-0344 slow_query]# /usr/local/apache/bin/apachectl restart  
/usr/local/apache/bin/apachectl restart: httpd restarted

위와 같이 하면 해 주면 js, css, images 는 브라우저 캐시를 이용하게 됩니다.

그러면 한번 불러온 저 파일들은 뒤로,앞으로 이동시, 링크클릭에도 다시 불러오지 않습니다.
오직 새로고침시에만 다시 불러옵니다.

수정후 확인방법
lynx -head
http://www.xxxxx.com/data/cheditor4/0912/LcclGCAvhjVuy.jpg
결과중에 Cache-Control: max-age=2592000 내용이 있다면 제대로 아파치 브라우저 캐시가 동작중인것임

참고사이트
http://www.phpschool.com/gnuboard4/bbs/board.php?bo_table=tipntech&wr_id=56733&sca=&sfl=wr_subject%7C%7Cwr_content&stx=expires&sop=and&page=2

MaxClient 항목

설명 : 아파치에서 클라이언트가 동시에 최대로 접속했을때 처리가능한 요청건수(프로세스 갯수)

컴파일설치라면 httpd.h 소스 파일의 HARD_SERVER_LIMIT 값을 수정한후 컴파일 한다.
예를들어 HARD_SERVER_LIMIT 값이 1024라면 MaxClient 항목값에 1024를 넘어서 입력할수 없다.

HARD_SERVER_LIMIT 값을 넘어서 아파치를 구동해보진 않았지만 뭔가 문제가 생길것 같다. ^^

HARD_SERVER_LIMIT 값을 알수 없다면 ulimit -a 명령을 친후 max process값이 나온다.
max process 값이 HARD_SERVER_LIMIT 값이다.


 

댓글목록

등록된 댓글이 없습니다.