잡담 그냥 개발자로서 걸리는거 한가지

페이지 정보

profile_image
작성자캣타워 조회 1,718회 작성일 2024-10-01 21:31:21 댓글 3

본문

fc379-66fbea1438cfc-b997f686fe7bd3d2e62082699b255338b8c95fb0.png

혹시나 싶어서 유톡 켜놓고 개발자도구 네트워크 모니터링 해보니까, 그냥 전체 메시지를 1초마다 무조건 다 불러와서 화면 교체하는 방식이던데

 

서버에 부담이 왜 그렇게 많이가는지 알았달까... 요즘은 저런방식 잘 안쓰죠.

 

API형식으로 최근메시지 데이터만 json형식으로 받아와서 클라이언트에서 html 그려서 표시하는 방법도 있을건데 이것도 클라에 부담가는건 똑같아서

 

요즘은 어떤방식을 쓰냐면 초기 1회 호출에는 마지막 받은 메시지 건수가 없으니까 최신 n행 불러오고,

마지막 메시지 행번호를 클라이언트에서 물고있는 상태로 "이 번호 이후에 신규 메시지가 있니?" 여부를 서버에다가 물어봅니다.

 

보통 n번 이후의 메시지 카운트를 조회해오라고 하면 전체 메시지 다 긁어오는거에 비해서 네트워크 부하도 줄어들고 DB응답데이터 부하도 줄어들거든요.

 

그리고 신규메시지 있으면 그거만 가져와서 화면에 그리고(붙여넣고) 마지막 메시지 행번호를 다시 백그라운드에서 물고있는 방식인거죠.

 

 

이렇게 구현한게 웹으로 서비스하는 알림메시지(댓글알림이라던가) 같은거 구현하는데 확연히 부하가 줄어들어요.

 

서버쪽에서 웹푸시 날려주는 경우도 있긴 한데 그건 그거대로 서버에서 불특정 다수한테 메시지 쏴야되서 부담가고 ㅋ

댓글목록

마이벙커님의 댓글

profile_image 마이벙커 작성일
근데 저거 때문도 아님
저렇게 한다해도 서버기준으로 부하가 얼마나 걸리겠슴
저번 채팅방이 json으로 페이지 중간에 메세지  끼워넣는 식이었는데
방식이 문제가 아니라
서버에 뭔가 하자가 있었던거 같음

저따위로 돌아가지만 지금 서버는 매우 평온함
씨피유 부하그래프 바닥에 붙어있는 중

채팅창은 nodejs  로 된걸로 바꿀까 생각인데  채팅창은 소켓방식이 맞는거 같기도하고..

일단 사이트 기본기능부터 어떻게 빚어놔야 다른거 할 여유가 생길듯

마이벙커님의 댓글

profile_image 마이벙커 작성일
게다가 톡방 이용자 다 합쳐봐야 20명이 안되는데  그정도 쿼리는 기별도 안가지..

톡방 페이지 볼 수 있는 권한 가진 사람도 제한적이었으니까..

눈팅유저가 있을지 몰라도 ... 얼마나 됬겠슴..

캣타워님의 댓글의 댓글

profile_image 캣타워 원글 작성일
아 이용자가 적어서....
근데 DB에 어딘가에 부하가 간다는건 몬가 어디가 꼬였다는 소린데 이건 CPU 많이 먹을 떄 어떤 프로세스 도는지 보는수밖에 없어서 골치아프시겠네요
전체 6,243건 309 페이지
게시물 검색