검색엔진에 의한 트래픽 초과

검색로봇이 내 블로그에 얼마만큼 들어오는지 확인해보고자

어제 하루 “로봇의 방문횟수 제외” 플러그인을 잠깐 꺼놓아봤다.
결과는, 장난이 아니더라. 3000이 넘는 hit이 증가해버렸다.
하루만에 다시 플러그인 활성화를 했다. 엄청난 로봇의 방문…
이때까지만 해도 난 이놈이 나쁜놈인이라는 생각은 하지 않았다.

어제 저녁쯤 400MB의 트래픽용량이 초과해버렸다.
어쩔 수 없이 유료로 트래픽리셋을 했다.
또 이러저러한 플러그인을 설치하고 블로그를 계속 들락날락하면서 이것저것 해서
그런거라고 생각했다.

그런데, 오늘 아침에 블로그를 들어가보지 않다가
낮 2시쯤에 블로그에 들어가보니, 트래픽초과가 되어 있었다.;;;
왜.. 뭐때문에 낮2시밖에 안되었는데 400MB의 트래픽이 초과되었단 말인가…
우선 다시 눈물을 머금고 유료서비스인 트래픽리셋을 하고.
이때부터 트래픽의 원인을 추적해나가기 시작했다.
사진이 원인일까? 몇장 되지도 않는데?
스킨에 썸네일을 포함시켜서?
플래시로 된 태그클라우드 때문에? 설마..;;;

내가 쓰고 있는 계정에서 제공해주는
‘트래픽상세정보’를 봐도 알수가 없었다.
‘트래픽상세정보’에 나와있는
‘접속자(접속IP)별 전송량’을 보면
1위는 바로 나.

그것도 전송량의 2%도 안된다.
나머지 IP들도 0.3%도 안되는
전송량일 뿐이다.
그럼 도대체 뭐때문에
이런 트래픽초과가 되어버린 것일까..
다시한번 옆 그림의 전송량을 유심히 봤다.
뭔가 이상했다. 2위부터 10위까지가 이상했다.
모두 74.6.x.x 대의 IP였다.

어제 하루의 통계를 봤다.
메인방문자수 7천…
접속IP수 1천..;;;;
(나의 하루 트래픽용량이 400MB인데,
한번 리셋을 해서 총 800MB를 쓸 수 있었는데..
이것도 아슬아슬했다;;)

트래픽용의자 2위부터 10위까지 74.6.x.x 대의 IP때문에 생긴 트래픽이 IP당 평균 1.7MB
순위에 보이지 않는 녀석들이 트래픽을 별로 일으키지 않았다고 해도…
이놈들의 IP당 평균트래픽을 1MB로 잡아도, 저 접속IP 수 중에 이놈들이 500개만 있다고 해도
이놈들 때문에 생긴 트래픽이 500MB..
이놈들이 분명 트래픽초과의 범인이렸다.
바로 IP조회 들어갔다. 어떤 검색회사가 나오더라. 그런데 그 회사의 배경은 야후…
결국 범인은 야후였다. 이놈들!!–+

좀 더 정확한 정보를 보고 싶었는데..
현재 쓰고 있는 통계서비스인 Google AnalyticsDaum Webinside 에서는
IP별 통계나 로봇의 방문자 정보를 자세히 알려주지 않았다.
그래서 설치형 통계프로그램이라 깔고 싶지 않았던,
TraceWatch를 계정에 설치하고 TraceWatch 로그 플러그인도 깔아서 정확한 통계를 내봤다.
‘로봇에 의한 페이지뷰’가 실시간으로 계속 증가하고 있었다.
‘최근 방문자’정보를 보니 야후가 평균30초에 한번씩 들락날락하고 있었다.
72.30.x.x 뿐만 아니라 74.6.x.x 까지 둘이서 합작으로 계속 들락날락했다.
둘 다 야후라고 나온다.
현재 계정의 홈페이지에서 제공해주는 실시간트래픽정보를 보니
거의 1분에 1MB씩 트래픽이 증가하고 있었다. 이러니 몇시간만에 트래픽초과가 되어버리지;;;
바로 두 아이피의 접속을 차단해버렸다.

아이피의 차단은, 서버의 “.htaccess” 파일에 아래의 코드를 추가하는 방법을 사용했다.
SetEnvIfNoCase remote_addr 74.6 go_out
SetEnvIfNoCase remote_addr 72.30 go_out
Order allow,deny
Allow from all
Deny from env=go_out

메타정보를 이용하여 모든 검색엔진의 접근을 막는 방법도 있지만,
다른 검색엔진은 죄가 없으므로 이 두 IP만 차단했다.

그 후 더이상 야후봇의 방문은 없었다.
1분에 1MB씩 증가하던 트래픽도 진정되었다.

원인을 찾아 필요한 조취를 취하고, 범인도 밝혀졌다.
그러나 범인을 찾았다고 해서 뭘 어떻게 할 수 있는건 아니다.ㅋ;;
이렇게 사건은 일단락되었다.

무슨 검색로봇이 이렇게 트래픽을 유발하는걸까..
태터툴즈의 사용자공간에 가보니 나 말고도 로봇때문에 고생한 분들이 몇분 보였다.
특히 야후!!!
이놈의 야후, 그렇게 안봤는데..
앞으로 꽤나 미워하게 될 것 같다.

“검색엔진에 의한 트래픽 초과”의 7개의 생각

  1. 야후나 구글등은 크롤링에 있어 규약을 잘 지킵니다(네이버나 다음하고는 다르지요) 예를 들어 사이트의 루트에 robots.txt가 있고 그게 크롤하지 말라고 하면 크롤하지 않습니다. 그리고 사이트별로 rate control을 하기 때문에 너무 자주 액세스하지는 않습니다. 지금 기술하신 문제는 저도 정확히는 모르겠습니다만 태터툴즈 설정의 문제가 아닌가 싶습니다(http://www.tattertools.com/ko/bbs/view.php?id=qna&page=1&sn1=&divpage=1&sn=off&ss=on&sc=on&keyword=%EC%95%BC%ED%9B%84&select_arrange=headnum&desc=asc&no=2573).

    태터툴즈 메인 디렉토리의 .htaccess 파일의 상단에, 아래와 같은 내용을 추가해보시기 바랍니다.

    php_value session.use_trans_sid 0

    검색로봇의 액세스는 가능하면 풀어주는 것이 좋은 것 같습니다 (물론 위의 경우는 문제가 있습니다만) 그래야 그만큼 사용자가 검색을 통해 님의 블로그를 액세스할 수 있을테니깐요. 야후봇 블록하기 전에 검색엔진 리퍼러 분석을 해보신 적이 있는지 궁금합니다. 만일 야후를 통해 들어오는 트래픽이 있었다면 그만큼은 이제 놓치는 셈이 아닐까 싶습니다. 🙂

    한번 제가 위에 쓴 방법을 시도해보시지요 🙂

    1. 현재 robots.txt는 사용을 안하고 있어서, 야후가 규정을 어기면서 크롤링을 하는지까지는 잘 모르겠네요.^^;;
      단지 너무 많은 트래픽을 유발시킨다는게 문제라고나 할까요.;;;
      알려주신 태터툴즈문답의 링크는, robots.txt에서 봇을 막았는데도 야후봇이 계속 들락날락해서 문제가 된 듯 한데,
      저도 검색로봇의 액세스는 가능하면 풀어주고 싶어서 robots.txt는 사용을 하지 않고 있습니다.
      그냥 야후만 차단해버렸지요.ㅎㅎ

      야후봇을 차단하기 전에 검색엔진 리퍼러 분석은 해보았습니다만…
      이때가 블로그를 시작한지 얼마 안되었을때라,
      이때까지만 해도 검색엔진을 통해 제 블로그에 방문하는 분이 전혀 없었습니다;;;
      요즘은 구글을 통해 들어오시는 분이 가끔 계시네요.^^;;

      언제 시간되면 검색쟁이님께서 알려주신 코드를 추가해놓고 야후를 한번 풀어봐야겠네요.
      그런데, 위의 코드가 어떤 역할을 하는지 자세히 알려주시면 정말 감사하겠습니다.
      아.. 그리고 도움 주셔서 감사합니다.^^

  2. 제가 말씀드린 코드를 넣으면 세션 ID가 안 달라붙는 것으로 이해하고 있습니다. 세션 ID는 태터툴즈를 사용하는데 필요가 없는 것으로 알고 있습니다. 현재는 크롤러 접근시마다 세션 ID가 달라붙어서 검색엔진이 보기에는 매번 다른 페이지처럼 인식됩니다. 이는 야후/구글 모두 마찬가지입니다. 다음 구글 결과를 보시기 바랍니다.

    http://www.google.co.kr/search?q=+site:kimyongjin.com+%EA%B2%80%EC%83%89%EC%97%94%EC%A7%84%EC%97%90+%EC%9D%98%ED%95%9C+%ED%8A%B8%EB%9E%98%ED%94%BD+%EC%B4%88%EA%B3%BC&hl=ko&lr=&newwindow=1&filter=0

    http://www.kimyongjin.com/blog/36이라는 페이지가 세션ID만 다른 상태로 10개 이상 인덱싱되어 있습니다. 이 페이지들이 모두 같은 것으로 인식되게 하면 이 모든 페이지들이 별도로 크롤되지 않고 하나만 관리되고 크롤되게 할 수 있습니다.

    즉 위의 코드를 넣으시면 전체적으로 네트웍 용량을 더 효율적으로 사용하실 수 있습니다 (야후, 구글, MSN 등 모든 검색엔진 크롤링시).

    1. 그렇군요..
      지금 말씀해주신 코드를 사용하고
      야후IP차단을 풀어놓고 사용해보고 있습니다.
      야후는, IP차단을 풀자마자 들어오네요ㅎㅎ

      며칠 더 두고봐야 확실히 알겠지만,
      현재까지는 그전과 같은 일은 없는 것 같네요.

      도움 감사드립니다.^^

    1. 이전보다 세션ID가 달라붙어서 크롤링 되는게 줄어들긴 했는데,
      여전히 세션ID가 붙은 주소로 로봇이 크롤링 하는 현상이 남아있네요.
      그리고 야후를 막 풀었을때는 괜찮더니, 며칠 지나니 또 엄청나게 크롤링을 해대고 있습니다.;;
      예전만큼은 아니지만, 그래도 구글의 3-4배 정도에 해당하네요.
      아직 트래픽을 초과할만큼은 아니라서 그냥 두고보고 있습니다만,
      더 심해지면 또 막아야 할 듯 합니다.^^;

  3. 앗 그렇군요. 야코 웹검색을 보니 님의 이 페이지가 마지막에 결과로 나오는군요 (“김용진”이라는 이름으로 검색을 했을 경우에요). 그리고 관련검색어를 보니 님과 관련된 내용이 많아 보입니다 (블로그계에서는 유명한 분이신가 보군요 ^^)

    http://kr.search.yahoo.com/search?fr=kr-front_sprit&KEY=&p=%B1%E8%BF%EB%C1%F8

    야후에서 계속 많이 들어오면 막는 수밖에 없겠군요.

댓글 남기기