본문 바로가기

Web Insight

네이버의 사이트 불안정 아이콘

네이버 실시간 검색어에 나타난 웹 사이트가 있어서 접속하려고 검색어를 눌렀더니 다음과 같은 낯선 아이콘이 보였다. 아이콘 위로 마우스 커서를 올리니 '사이트 접속 불안정'이라는 문자열이 나타난다.

실제로 이 사이트는 접속이 되지 않고 있으며 command line에서 ping에 대한 응답도 없다. 네이버 검색은 어떻게 접속이 불안정한 사이트를 알아낼 수 있는 것일까? 검색어를 입력했을 때 즉시 '사이트 접속 불안정'이라는 측정 결과를 갖고 오기 위해 어떤 일을 해야 할까? 내가 아는 상식 수준에서 생각해 보면 특정 키워드와 일치하는 '바로가기'가 나타날 때 이 사이트가 정상적으로 접속할 수 있는 지 ping을 날릴 수 있을 것이다. ping을 보냈는데 사이트가 응답이 없거나 현저히 늦게 반응이 오면 '사이트 접속 불안정'이라는 아이콘을 노출시킬 수 있을 것이다.

그런데 ping이라는 네트워크 명령어를 통해 사이트의 접속 지연 상태를 확인하는데 약간의 지연이 발생한다. ping 값이 높거나 서버가 응답하지 않는 경우 해당 사이트의 접속에 문제가 있다고 판단하기 위해 "지연 상태를 확인"하기 위한 시간이 필요한 것이다. 물론 많은 서버가 ping 요청을 거부하는 경우가 많기 때문에 다른 명령어를 쓰거나 사이트를 HTTP로 호출하는 시뮬레이터를 사용할 수 있다. 그런데 이렇게 하면 사이트의 접속 상태를 확인하는데 더 오랜 시간이 걸린다. 

뭔가 더 특별한 방법이 없다면 특정 키워드를 클릭했을 때 나타나는 사이트의 접속 불안정 여부를 즉각 확인하는 건 뭔가 좀 이상하다. 이건 키워드를 입력하자마자 ms 단위로 검색해서 결과를 뿌리는 것과 다른 이슈다. 특정 사이트의 반응을 측정하고 접속 불안정하다는 걸 확인하기 위해 최소 1초 이상의 시간이 필요하고 만약 사이트가 아예 동작하지 않고 있다면 그 이상의 시간이 필요하기 때문이다. 다시 말해 실시간으로 사이트 접속 상태를 실제 확인하고 있다면 검색하자마자 '사이트 접속 불안정'이라는 아이콘이 나올 수 없다. 최소한 조금 지연된 후 나오거나 해야 한다.


그래서 하나의 가정을 해 봤다. 

"사이트 접속 불안정은 실제로 사이트에 대한 접속 상태를 확인하는 것이 아니라. 특정 키워드에 대응하는 검색 결과에서 '서버 다운', '접속 불안정'과 같은 단어가 있을 때 네이버 검색 관리자에게 그 사실이 알려지고 수기로 사이트 접속 불안정 아이콘을 활성화한다."

이 가정이 맞는 지 확인하기 위해 "서버 다운"이라는 키워드로 뉴스 검색을 했더니 운 좋게 오늘 오후에 어떤 사이트에서 이벤트를 했고 이로 인해 서버가 다운되었다는 기사를 발견할 수 있었다. 이 사이트의 이름을 검색했더니 아래와 같이 바로가기에 '사이트 접속 불안정'이라는 아이콘이 붙어 있었다. 사이트를 클릭해 들어가 봤다. 아주 잘 동작하고 있었다. ping 값도 정상적으로 나왔고 사이트의 다른 메뉴도 정상 동작하고 있었다. 관련 기사를 보니 이 사이트는 오늘 오후 5시 무렵 이벤트로 인해 서버 다운 현상이 있었다고 한다.

더 이상 사례를 찾기 힘들었지만 위 그림에서 볼 수 있듯 이미 사이트 접속 불안정 상태가 완전히 해소되었음에도 이 사이트의 검색 결과에는 '사이트 접속 불안정'이라는 아이콘이 나타나 있는 걸로 볼 때 실시간 확인을 하는 게 아닌 것은 분명한 듯 하다. 좀 더 확실하게 증명을 하려면 네이버 검색 결과에 '바로가기'가 나오는 사이트 중 현재 접속 불안정 상태인 사이트를 찾아서 네이버가 저 아이콘을 표시하는지 그렇지 않은지 확인해야 하는데 내가 IDC에 있지 않은 이상 모니터링을 할 방법이 없어서 더 확인하기 어렵다. 그러나 저 아이콘이 기계적 검사의 결과로 나타나는 게 아니라고 추측하는데 큰 두려움은 없다. 앞서 말했듯 다른 기능에 대한 검증 방법과 달리 특정 사이트의 상태를 검증할 경우 정상일 때는 ms 단위로 그 결과를 얻을 수 있다. 반면 정상이 아니면 응답 지연(response delay)이 나타나고 그걸 확인한 후 저 아이콘을 뿌려야 할텐데 순식간에 나오는 건 결국 실시간 확인을 하지 않는다고 추측해도 무리가 없기 때문이다.


네이버는 검색 서비스를 노동집약적 콘텐츠 서비스로 만드는 재주가 있는 회사인 것 같다. 이런 걸 보면 최근 네이버 본사 주변에서 '공밀레' 소리가 들린다고 하는데 허튼 소문은 아닌 것 같다. '공밀레'란 공돌이를 인신 공양하여 만든 종을 때릴때마다 '공밀레~ 공밀레~'한다고 해서 나온 말이다. 


--- 추가한 글

이 글을 쓴 후 스스로 뭔가 미심쩍은 게 있어서 즐겨 찾는 게시판에 글을 옮기기로 했습니다. 다른 분들의 상식과 지혜를 구하고 싶었죠. 역시 많은 지적이 있었습니다. 아래 게시물의 댓글을 참조하시기 바랍니다.

http://clien.career.co.kr/cs2/bbs/board.php?bo_table=park&wr_id=11895679&page=2&sca=&sfl=&stx=&spt=0&page=2&cwin=#c_11896239

댓글을 단 분들의 지적은 당연하다고 생각합니다. 그 분들이나 저나 네이버가 저 기능을 어떻게 구현했는지 확인할 방법이 없습니다. 제가 추측했듯 다른 분들도 추측하는 것이니 '주인공'이 대답하기 전에 어떤 결론에 이르는 건 어렵지 않을까 합니다. 특히 제가 '사람의 손길이 느껴진다'고 하니 봇을 사용할 것이다, 기술을 잘 모르는 것 같다는 충고를 한 분들이 계셨습니다. 봇(bot)을 분명 사용했겠죠. 수 많은 사이트의 접속 문제를 사람이 일일이 체크할 리 있겠습니까. 제가 추측하는 봇은 이런 것입니다. 

1) 검색어에 집중 노출되는 사이트를 리스트업한다
2) 이 사이트가 정상적으로 접속할 수 있는 지 확인한다
3) 접속 지연이나 로딩 실패 등의 결과가 나타나면 아이콘으로 표시한다
4) 특정 시간을 기준으로 해당 사이트가 정상화되었는지 확인한다
5) 정상화되면 아이콘을 삭제한다

그런데, 우연인지 모르겠으나 위 글의 두번째 사이트(NR레이스)는 정상화된 지 7시간이 지났는데 여전히 사이트 접속 불안정 아이콘이 노출되어 있습니다. 정말 접속 불안정 상태인 사이트를 자동화된 봇이 체크하고 아이콘을 노출하고 삭제하는 모든 역할을 하고 있다면 저 아이콘은 이미 사라져야 합니다. 그런데 간과하는 측면이 있는데 특정 키워드에 해당하는 통합 검색 결과를 뿌릴 때 저 아이콘 하나가 갖는 의미가 클까요? 저 아이콘이 나올지 말지 결정하기 위해 통합 검색 결과의 지연이 발생해야 할까요? 기술적인 측면이 아니라 검색 만족도 측면에서 네이버가 1)~5) 단계 중 사람의 손길을 넣었을 가능성이 있다는 게 제 추측입니다. 물론 저는 네이버가 그렇게 하지 않길 바랍니다. 

별로 영양가 없는 글에 많은 댓글로 도움 주신 분들께 감사드립니다. 네이버 씹는 글 아니에요, 좀 더 잘 했으면 하는 바람에 반발이 있을 줄 알면서 근거가 부족한 줄 알면서 쓰는 글입니다. 아, 이 즈음에 "주인공"이 나타나서 한 마디 해 주면 참 좋을텐데 말입니다.

어떤 분이 이 아이콘의 이름 (death link, 데드링크)이 포함된 네이버 Help 페이지를 댓글로 남기셨네요. 

http://help.naver.com/ops/step2/faq.nhn?faqId=3496&faqType=3496&fcatid=10229

위 글에 의하면 네이버는 '하루에 한 번' 접속이 안되는 페이지에 대한 체크를 하고 있고 사이트 관리자에게 통보한 후 계속 접속이 안되면 사이트 삭제를 하고 있다고 합니다. 이 글의 프로세서대로 흘러간다면 제가 잘못 가정한 것이 맞습니다. 그리고 그 아이콘이 실시간으로 체크하는 것이 아니라는 건 알게 되었습니다. 변명할 생각은 없습니다만, 그 아이콘 - 데드 링크 - 가 daily check라는 게 맞다면 체크 간격을 바꿔야 할 것 같습니다. 저처럼 '멍청하게' 실시간으로 현재 사이트의 상태를 표시하는 걸로 착각하지 않도록 말입니다. 네이버의 공식 답변에는 '데드 링크'에 대한 개념이 명확하지 않고, 그것을 체크하는 주기가 명시되지 않고 있다는 것도 아쉽습니다. 

결론. 혼자 이런 저런 생각을 하는 것보다 욕 먹는 한이 있어도 "그거 이렇게 동작하는 줄 알았는데 다르게 동작하네요?"라고 물어 본 게 훨씬 좋은 결과를 얻는다는 걸 알게 되었습니다. Daily 체크하는 걸 마치 실시간으로 현재 사이트 접속 상태를 표시하는 듯 사용자가 인식한다면 우둔한 사용자의 문제로 치부할 일은 아닌 것 같습니다. 이런 문제 제기를 네이버에 대한 불신이나 개발에 대한 지식 부족으로 밀이부치는 분들께 더욱 드리고 싶은 말씀이구요.