사이트 내 전체검색
트래픽 증가에 따른 대처법
로빈아빠
https://cmd.kr/server/521 URL이 복사되었습니다.

본문

cafe24 호스팅을 이용한 태터툴즈 블로그를 2달째 운영하면서 부터 문제가 발생하였다. 트래픽 초가로 인해 저녁 6시쯤에 홈피가 스톱되고 cafe24호스팅 공지글만 대신 떠있었던 것이다.

User inserted image
cafe24호스팅 사이트에 접속해서 [전송량통계상세보기]를 눌렀더니, 이미 오후 6시에 트래픽 400M가 초과되어 있었던 것이다. 전날에 비해 어의없게 증가한 트래픽! 그러나 전날과 비슷한 방문자 수... 얼른 웹서핑을 하여 원인을 찾아보니 뜻밖에 이것으로 저처럼 고생하신 분이 여럿 있으심을 알수 있었다.           
자세한 IP접속통계를 알고싶어서 설치형 통계프로그램인 Trace Watch external.png를 설치한 후 테터툴즈에서 사용할 수 있게 TraceWatch 플러그인 external.png도 같이 설치하였다.
그러자 역시 로봇에 의한 페이지뷰가 증가됨을 알 수 있었다.
User inserted image
순위3은 본인의 IP이고 1,4번은 Google과 Google Adsense, 5번은 daum.net임을 확인할 수 있었다. 6~9번의 220.95.235.x의 아이피가 수상하여 tracewatch에 IP조회를 해보니 에이전트는 알 수는 없었지만 로봇임을 알 수 있었다. 차단을 하려니 좀 꺼림직했지만 일단 트래픽 보존이 시급했다.
일단 아이피 차단을 위해 .htaccess에 일단 아래와 같은 코드를 추가하였다.

SetEnvIfNoCase remote_addr 66.249.65.81 go_out
SetEnvIfNoCase remote_addr 66.249.65.180 go_out
SetEnvIfNoCase remote_addr 222.103.241.49 go_out
SetEnvIfNoCase remote_addr 220.95.235 go_out
Order allow,deny
Allow from all
Deny from env=go_out

tracewatch로 확인하자 로봇의 방문은 줄었고 트래픽은 안정되었다.
하지만 왠지 이렇게 몇몇 로봇들을 완전 차단한 것이 좀 아쉬웠다.

그러면 이렇게 IP차단하는 방법말고 다른 방법은 없을까?
우선 검색로봇을 막는 Robots.txt를 작성해보았다.

[검색로봇을 막는 방법 robots.txt]

robots.txt 간단설명..

robots.txt의 사용효과는 일단 트래픽을 조절할 수 있다는 것, 다른 사람에게 알리고 싶지 않은 정보를 보호할 수 있다는 것이다. robots.txt란 파일을 이용하여 블로그를 방문하는 로봇들에게 사이트 검색을 허용할 것인지, 허용한다면 어떤 로봇에게, 어떤 디렉토리를 허용할지를 담고 있는 파일이다.

메모장이나 간단한 텍스트에디터를 이용하여 작성하여, 계정의 최상위(root) 디렉토리에 업로드를 시키면 된다. 만약 제 사이트 http://cheum.net/ 이라면 반드시 http://cheum.net/robots.txt에 위치하여야하며 http://cheum.net/tt/robots.txt라면 제대로 작동하지 않는다. (cafe24호스팅의 경우 /www의 폴더내에 저장하시면 됨.)

파일의 내용은 크게 세 부분으로 나뉜다
주석(#), 로봇의 이름을 적는 부분(User-agent) , 방문을 허용하지 않을 디렉토리를 적는 부분(Disallow)으로 구분된다.


아래는 참고로 방문하는 로봇의 agent명이다.
구글: Googlebot
구글 이미지 : googlebot-image
구글 애드센스 : Mediapartners-Google*
네이버 : cowbot
야후 : Slurp
야후 이미지 : Yahoo-MMCrawler
엠파스봇 : empas
MSN : MSNBot
첫눈: 1Noonbot 1.0

User-agent: Slurp
Crawl-delay: 3600

제가 작성한 robots.txt의 내용은 단 2줄이다.
가장 방문 빈도수가 높은 야후로봇의 방문주기를 1시간으로 조정하였다. 야후로봇의 IP가 한두개가 아니기때문에 방문주기를 길게조정하였다.

그러나 tracewatch의 확인결과 Crawl-delay는 robots의 정식 문법이 아니어서인가? 나의 경우엔 전혀 효과가 없었다. 야후로봇은 지연시간을 지키지않고 시시때때(?)로 방문하였다.

마지막 방법으로 robots.txt도 지우고 .htaccess도 다 지우고,
고유도메인rss 주소를 feedburner고유rss 주소로 바꾸어서
rss접속에 따르는 트래픽을 feedburner로 위임(?)시켰다.

그래서인지 몰라도 트래픽이 하루 200M수준으로 감소하였다.
실방문보다 RSS 피드를 통한 접속이 원래 그렇게 많은것인가?
rss를 feedburner로 돌려서 감소한건지는 확실하지 않지만, 로봇방문차단을 하지않고도 트래픽을 하루한계량 50%대로 유지할 수 있었다.


계속 트래픽을 모니터할 소지는 있지만, 일단 트래픽문제가 해결되어서 다행이다.

댓글목록

등록된 댓글이 없습니다.

1,139 (8/23P)

Search

Copyright © Cmd 명령어 52.15.170.196