Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.
RetroTech 팟캐스트 44BITS 팟캐스트

Github Data Challenge II에서 2등을 했습니다.

어제 Meetup 준비로 FRENDS 사람들과 모임을 하다가 술을 많이 먹고는 아침에 속쓰림에 느즈막히 일어나서 출근을 하는데 트위터를 보니까 밤새 멘션이 많이 와 있었다. Github Data Challenge에 5월에 참여했다가 결과가 나오지 않아서 블로그에 포스팅을 하고는 잊고 있었는데 오늘 새벽에 그 결과가 올라온 것이다.

Github 블로그 공지

내가 만든 Popular Convention이 2등이라니!! Github 블로그에 내 이름(사실은 닉이지만) 실리다니!! 다른 곳도 아니고 Github에서 2등이라니 감격이... ㅠㅠ 사실 아이디어 단계에서는 괜찮은 아이디어라고 생각했지만 구현을 했을때 이런 저런 한계로 의미있는 데이터를 뽑아내지 못했기 때문에 많이 기대하고 있지 않았는데 2등이라니 아침부터 너무 기분 좋은 소식이었다. 1등은 미리 봤던 Open Source Report Card였다. 전에 보고 github 데이터로 재미난 통계를 내서 문장으로까지 만들어줬기 때문에 데이터분석은 이렇게 하는구나 하고 생각했는데 역시 1등이었다.

Hacker News에 올라온 화면

Github 블로그에 올라온 것도 감동이었는데 Hacker News에도 올라왔다. 내가 봤을때는 18위까지 올라갔었는데 그 이상까지도 갔었는지는 잘 모르겠다. Hacker News 첫페이지에 올라왔다는 것 자체가 영광.. ㅠㅠ 외국애들이라 오타가 눈에 잘 띄는지 오타수정하는 풀리퀘스트도 여럿 들어왔다.

구글 Analytics에 실시간 방문자 화면

덕분에 조용하던 서버에 트래픽이 넘쳐나고 있다. 현재 동접이 80명까지 올라오다니.... 사실 오전에는 이정도로 많지는 않았었는데 성능테스트는 따로 안했던지라 MongoDB가 CPU를 100%나 먹으면서 사이트가 제대로 동작하지 않았다. node.js도 CPU 부하가 심했지만 node.js는 괜찮았지만 MongoDB의 부하로 인해서 응답시간이 엄청나게 늦어졌고 그때문에 타임아웃 오류가 계속 발생했다. 이런걸 고려해서 짰어야 됐는데 이렇게 될줄 어찌 알았겠는가.. ㅠ 고민하다가 MongoDB를 튜닝하거나 비즈니스 로직을 수정할 시간은 없었기 때문에 난하님의 도움을 받아서 Varnish를 nginx와 어플리케이션 서버 사이에 설치해서 모조리 캐시해버렸다. 어차피 현재 배치가 돌고 있는건 아니기 때문에 통째로 캐싱해도 문제될건 없었고 캐싱하고 나니 잘 돌아갔다. 오후에도 좀 서버가 뻗기는 했는데 Varnish를 리스타트하니까 괜찮아졌다.

popular convention 사이트의 소셜공유 버튼

소셜버튼을 달아놨더니 공유도 상당히 많이 됐다. ㅎㅎㅎ 근래에 가장 기쁜일 중 하나인듯... ㅎㅎ

어쨌든 하고 나서 느낀 점들....

  • 개인 프로젝트라 솔직히 흥할줄 몰랐기에 성능문제를 너무 무시했다. 담부터는 이런것도 좀 미리미리 신경쓰자.
  • proof of concept용이라만 생각하고 서비스할 생각은 없었기 때문에 이렇게 되니 어찌해야할지 고민된다. 데이터를 좀 엉망으로 쌓아서 사실 이상테로 배치돌려서 계속 쌓아서 데이터를 모으기에는 좀 무리가 있다. 코드로 해결할 수 있는 부분까지 그냥 디비에 떼려넣은건 최대의 폐착이다. ㅠ
  • 언어별로 퍼머링크를 만들었어야 했는데 다연한 부분임에도 신경쓰지 못했다.
  • 사이트에 대한 컨셉이나 설명을 첫페이지에 좀 했으면 좋았을 텐데 영어 작문의 부담도 있었지만 블로그에 정리할 생각에 고려를 하지 못했다. 사이트의 의도같은걸 좀더 설명했으면 좋았을 텐데....
2013/06/27 23:55 2013/06/27 23:55