서버처리시간은 짧은데 웹브라우저 로딩시간은 긴경우.
원인은 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 값이다.

댓글목록
등록된 댓글이 없습니다.