한 밤의 트래픽 다이어트 회의 결과 공유합니다.

페이지 정보

13,265 조회
60 댓글
389 추천

본문

밤 11시에 시작해서 84분 동안 진행된 한 밤의 트래픽 다이어트 회의 결과 공유합니다. 많은 개발자분들이 참석하셔서 활발하게 논의해 주시고, 각자 역할을 할당하여 진행해 주시기로 했습니다. 저는 회의를 진행하고, 서기를 했을 뿐… 

앙님들께서 참고할 사항이 있기에 내용을 공지로 정리합니다. 다이어트의 시기와 방법을 각각 상이하기 때문에 당장 적용되는 것들도 있고, 차차 되는 것도 있습니다. 다운타임이 필요한 사항도 있고, 아닌 사항도 있습니다. 


1. 트래픽 다이어트 영역별 설명


(1) 인프라: 불필요한 인프라 리소스를 빼고, 기존 오버스펙으로 할당되어 있는 리소스를 축소 예정입니다. 

(2) 클라우드 플레어 적용: 그누보드의 정적파일이 보관되는 data 폴더에 클라우드 플레어를 적용할 예정입니다. 

(3) 외부 URL 차단: 엔진엑스 설정을 조정하여 외부에서 다모앙 리소스를 빨아먹는 것들 차단할 예정입니다. 특히 별도의 솔루션을 설치해서 리소스의 흐름을 모니터링할 예정입니다. 

(4) 원본 이미지 업로드 처리: 이미지가 원본 이미지로 업로드되고, 이것이 원본이미지로 보이다 보니 트래픽을 많이 먹는 단점이 있습니다. 원본 이미지를 올릴 필요가 있는 경우 별도 옵션을 체크하도록 처리할 예정입니다. 이 옵션이 체크되지 않는 경우에는 1080p 해상도로 자동 리사이즈 됩니다.

(5) 업로드 이미지 webp 자동 변환: 업로드되는 이미지를 압축률이 좋은 이미지 포맷인 webp로 자동변환할 예정입니다. 

(6) 중복 이미지 제거: 이미지를 업로드할 때 이미지의 hash를 DB에 저장해서 중복 업로드 이미지의 경우 이미 업로드된 것을 사용하도록 처리할 예정입니다.

(7) 이모티콘 화면 처리 방법 변경: 이모티콘을 선택하는 화면을 정적화면으로 바꿔서 미리보기시 발생하는 불필요한 트래픽을 절감할 예정입니다. 선택하는 화면만 정적으로 되고, 실제 이모티콘을 사용할 때에는 움직입니다. 

(8) 첨부파일 제한: 자료실을 제외한 나머지 게시판에 첨부파일 기능을 비활성화 할 예정입니다. 이 경우 동영상, 음성, 노래 등의 파일을 첨부로 올리던 분들은 불편함이 생기실 것입니다. 불편하시겠지만 트래픽을 쪽쪽 빨아먹는 묵직한 미디어(mp4, mp3 등)는 링크로 사용해 주시면 감사하겠습니다. 

(9) 프로필 이미지 변환 및 리사이징: 현재 프로필 이미지로 사용하는 것이 게시판 목록의 아이콘으로도 사용되고 있습니다. 이때 프로필 이미지 크기가 변환 없이 작게만 표현되고 있기 때문에 낭비되는 트래픽이 있다고 판단하여 프로필 이미지를 리사이징 하여 적용할 예정입니다. 움직이는 gif의 경우에도 webp로 자동 변환될 수 있습니다. 

(10) 광고 이미지 처리: 광고 업무 프로세스를 담당하는 별도 작은 프로그램을 개발자님들과 만들고 있습니다. 이 프로세스에 맞춰서 광고에 사용하는 이미지도 처리 방식을 바꿀 예정입니다.

(11) 메인 화면 캐싱: 메인 화면의 트래픽이 상당히 많음에도 불구하고 아직 제대로 캐싱이 이루어지고 있지 않았습니다. 레디스라고 하는 캐싱 솔루션에 메인화면을 캐싱하여 트래픽을 절감시킬 예정입니다. 메인 화면도 회원과 비회원이 볼 수 있는 항목을 차등화 시킬 예정입니다. 

(12) 자게 첫 화면 캐싱: 자게가 다모앙 전체의 약 60% 가량의 트래픽을 차지하고 있습니다. 그 중에서도 1페이지의 활용도는 매우 높습니다. 이 부분을 캐싱처리 해서 트래픽 절감을 유도하려고 합니다. 게시물을 읽는데에는 크게 지장이 없지만, 공감수 등이 실시간으로 반영되지 않는 다는 점을 감안해 주시면 됩니다.

(13) 화면 최적화: html 소스 구현할 때 불필요하게 낭비되는 작은 바이트까지 없애도록 minify 작업을 진행할 예정입니다. 작은 리소스이지만 워낙 접속률이 많기 때문에 이러한 것들이 모여도 큰 효과를 낼 수 있을 것으로 예상하고 있습니다.

(14) 검색 엔진 도입: 검색할 때 DB 서버를 많이 긁어가기 때문에 서버 스펙을 낭비하는 효과를 주고 있다고 하네요. 이에 검색 엔진을 도입해서 DB 서버 스펙을 낮춰서 비용 절감 효과를 내기 위한 작업을 할 예정입니다. 아울러 비회원은 검색을 하지 못하도록 막을 예정입니다. 

(15) 인덱스 개선: DB 서버 부가 경감을 위해 인덱스 최적화되 추가로 진행할 예정입니다. 



2. 앙님들께서 양해해주실 부분 


기술적으로는 위와 같은 항목을 처리하겠으나, 앙님들께서도 트래픽 다이어트를 위해 양해해주실 부분이 있습니다. 지속가능한 다모앙을 위해 진행하는 것들이니 감안 부탁드립니다. 


  • 중간중간에 화면이 깨지거나 잘 안나오는 경우가 있을 것입니다. 최적화 작업을 하면서 발생하는 일시적인 오류이므로 유지관리 게시판, 자게, 질답게 등에 '저만 이런가요?'라고 안물어보셔도 됩니다. 당분간은 이런 문제들이 반복될 수 있습니다. 작업자들이 많이 있고, 반복적으로 모니터링을 하고 있으므로 대부분 일시적인 현상일 것입니다. 
  • 프로필 이미지에 오류가 생길 수도 있습니다. 서버에서 일괄적으로 작업을 하기 때문에 예외적인 상황에 의해서 이미지 표현이 안될 수도 있습니다. 이 부분은 케이스별로 대응을 해야하는데, 5만개 가까운 프로필을 모두 대응해 드리기는 어려울 수 있습니다. 프로필 이미지를 저장해 두셨다가, 깨지는 경우라면 직접 수정하셔야 할 수도 있습니다. 
  • 게시판에 이미지 업로드하는 프로세스가 바뀔 예정이므로 참고하셔야 합니다. 큰 용량의 원본 이미지의 활동도를 최대한 낮추는 것이 목적이니 감안해 주시기 바랍니다.
  • 자료실을 제외한 나머지 게시판에서 첨부파일 기능을 사용하지 못하게 될 것입니다. 이렇게 되면 mp4, mp3 등의 미디어는 더이상 첨부하여 사용할 수 없게 됩니다. 불편하시더라도 링크를 사용해 주시면 감사하겠습니다. 
  • 기타 수정했으면 하는 항목들은 처리가 당분간 어려울 수 있으니 감안해 주시기 바랍니다. 


영역별로 기능별로 적용되는 시기와 방법은 다를 수 있으니, 어느 순간에 바뀌어 있을 수도 있고, 접속에 불편함이 생길 수도 있습니다. 또한 트래픽 다이어트를 위한 기능에 많은 개발자님들의 리소스가 들어갑니다. 모두들 현생이 있으심에도 불구하고 자발적으로 나서서 진행해 주실 예정입니다. 숨어서 개발에 힘써주시는 많은 분들께 응원 부탁드립니다. 


댓글 60 / 1 페이지

골드러쉬님의 댓글

고생많으시고 그저 감사합니다.

6번에서 혹시나... 남겨봅니다. 여러글이 그럼 하나의 이미지를 참조할텐테 먼저 올려진 글이 삭제되도 다중참조중인 이미지데이터는 마지막 참조글이 삭제될 때까지는 지워지면 안될 것 같습니다. (이미 감안하셨겠지만 QC차원에서 언급해봐요 ^^)

휘소님의 댓글의 댓글

@골드러쉬님에게 답글 저도 여기 덧붙여서... 업로드 시도 하고, 사용하지 않는 이미지들, 수정으로 더 이상 글에서(서버 전체에서도) 사용되지 않는 이미지들은 어떻게 처리되나요?

휘소님의 댓글

핫링크(외부서 다모앙 트래픽 끌어가는 이미지), 중복 이미지, 리사이징은 무척 좋은 내용 같습니다.

엔뜨님의 댓글

다모앙을 위해 봉사하고 헌신해주시는 모든 개발진 분들 정말 감사드립니다!
방향이 정해지면 같이 걸어가고 도와드릴게요.
고맙습니다! ❤️💙💛👍🏻

뻘글젖문가님의 댓글

앙실장님..
혹시 글쓰기할때 임시저장글 쌓이는거
이것도 논의된 바가 있을까요??
50개 100개까지도 쌓이는거 같던데...
이런것도 죄다 트래픽 잡아먹는 주범 아닙니까? ㅋ
갯수 제한을 두는것도 좋을것 같고요..
정리하기도 쉽게  한번에 일괄삭제하기
버튼도 있었으면 좋겠습니다.
항상 고생많으십니다. 감사합니다.

달과바람님의 댓글

고맙습니다. ~

이미지 이모티콘 수를 많이 줄였는데, 이게 서버 트래픽에 부담이 된다면 다모앙을 이용하는 이용자 PC 혹은 모바일 기기에 이모티콘 세트를 저장해 다모앙 서버에서 이미지를 로딩하지 않도록 하는 방법은 가능한 걸까요?
어차피 모두 같은 이미지 세트를 가지고 있기만 하면 되는 것 아닌가 해서요.

재미 있는 요소이기는 하지만, 트래픽에 부담이 된다면 정상화 될 때까지는 없어도 되겠지만, 굳이 해야 한다면 기술적으로 구현 가능한 방법일까 싶어 문외한의 상상으로 막 던져 봅니다. ^^

ㅡIUㅡ님의 댓글의 댓글

@달과바람님에게 답글 앱이 그런 역할을 합니다. 만…
웹과 연동하려면 공유데이터가 어쩔수없이…
앱으로 처리시에는 확실히 줄어들테니까
그것만해도 큰도움이 될지도 모르겠네요.

Life2Buff님의 댓글

많은 부분에서 다이어트가 이뤄지는군요.
하루 하루 더 나은 방향으로 나아가고 있는 게 보여서 가만히 보고만 있어도 즐겁습니다.
개발팀 모두 힘내시기 바랍니다!

높다란소나무님의 댓글

많은 논의가 이루어졌군요. 꼭 다 효과가 있어서 전체 트래픽이 월 광고 수입보다 밑으로 떨어지길 기원합니다.

항상감사k님의 댓글

와우... 잘 정리해서 친절하게 설명해주셔서 감사합니다.
다이어트가 얼마나 많이 될지 기대됩니다.

잠만보님의 댓글

항상 내용 공유해 주셔서 감사합니다. 앞으로도 이런저런 의사결정할 때 투명하게 공개되면 좋을 것 같아요.

ㅡIUㅡ님의 댓글

기술적 단어도 대부분 한글로 써주시니 참 편하게 읽힙니다. 저도 개발자로서 방향같은거 많이 참고됩니다. 근사한 일을 하실수 있다는거 진심 부럽습니다. 저는 응용어플전문이라 ㅜㅜ

뽀물님의 댓글

4번  1080p 해상도로 자동 리사이즈 + 5번 wepp 압축  -> 진작에 했어야 했네요 
만약을 위해 원본 업로드 옵션 까지 두신다니 환영입니다.
사실 갤러리같은데 빼고는 리사이즈 해도 된다고 봐요. 어차피 대부분 모바일에서 보기도 하고요

비회원 검색 비허용도  공격 예방이나 가입유도로도 좋겠네요    화이팅~

왕대포님의 댓글

늘리기 위해 줄이는 방향의 기조에 맞춰 시급한 것부터 잘 처리해나가는 모습 좋습니다. 집단의 힘으로 고민하고 개선해가는 다모앙은 언제나 옳습니다.

농약벌컥벌컥님의 댓글

내부적인 히스토리 공유해 주셔서 매우 감사합니다~ 그리고 그동안 너무 너무 감사했습니다.

ellago님의 댓글

개발진과 운영진들 지금까지 너무 성실히 노력하시고 또 회의결과까지 공유해주는 투명한 운영 정말 감사드립니다.👍
개인적으로 트래픽 부담갈까봐 계속 (4)원본이미지 업로드 안하고 사이즈 줄여서(보통 500k이하) 사진올려왔는데 자동리사이징 되면 편하겠네요.
다들 자봉으로 일하시는거 아니까 천천히 시간나실때 무리하지마시고 해주세요. 얼마든지 기다립니다.^^

삼포가는길님의 댓글

대부분 합리적인 선에서 개선이 이루어지는 거 같네요.
모든 운영진분들 고생 많으셨구요, 늘 감사드립니다.

Jedi님의 댓글

이것만 읽어도
커뮤니티 다이어트 순서도가 만들어지네요.
고급(?)정보와 기술들을 한곳에 모아놓은 느낌입니다.
간과하기 쉬운 DB부하는 이제 거의 잡혀있는 것 같아 안심되네요.
시간이 좀 걸리겠지만, 한스템씩 나아가면 될 것이고
다이어트 사항별 적용결과(통계)를 후에 발표해주시면
실제 현업 관련자뷴들께 귀중한 자료 및 향후 우선순위 결정에 도움이 될것입니다.

sinnae님의 댓글

클량대비 차이점중 하나로 구글같은 sso연동시 프로필 이미지를 기본적으로 가져오고 있습니다. 게시물 확인시에 댓글에 달린 회원들의 프사도 같이 읽어올 거 같은데 이런경우 캐시가 잘 적용되어있는지도 보면 좋지 않을까요? 물론 잘알아서 하시겠지만요 ^^

J제이님의 댓글

외부 핫링크 제한
비회원 검색 제한

요 두개만 해도 부담이 팍 줄어들겠네요.
초반부터 적용해서 앙 서버비를 절감했으면 더 좋았겠지만 지금이라도 두손들고 환영합니다!!!

운영진님들 감사합니다!!
검색 18 / 1 페이지
전체 검색