쓰기와 읽기 관점에서의 성능

김키핑·2026년 4월 18일
post-thumbnail

웹페이지에서 쓰기와 읽기

어느 웹사이트의 게시판에 '스터디장, 미리 합격을 축하드려요'라는 제목의 게시글을 작성하고, 동일한 내용의 ㅈㄱㄴ 게시글을 작성한뒤,
게시판으로 돌아가 해당 게시글을 조회한다고 가정해 보자.


쓰기 흐름

웹 브라우저(클라이언트)에서 글을 쓰고 저장 버튼을 클릭하면
POST 요청이 웹 서버로 전달되고, 웹 서버가 해당 데이터를 DB에 저장한다.

읽기 흐름

제목을 클릭하면 서버로 GET 요청이 발송되고, 서버가 요청을 처리한다.
데이터베이스에서 해당 게시글의 ID를 기준으로 조회하여
게시물의 제목과 내용을 반환한다.


성능 개선 방법

쓰기

프론트엔드에서 저장 버튼이 한 번 눌리고 요청이 한번 간 뒤에도 버튼 클릭을 막지 않으면 사용자가 저장 버튼을 여러번 클릭해 post 요청을 여러번 보낼 수 있다.

이는 서버 부하 혹은 게시물 중복 저장을 야기한다.

  1. 프론트엔드 단에서 버튼이 한번 클릭 되면 클릭 되지 않도록 막거나,
  2. 백엔드 단에서 한 유저가 게시글을 업로드 할 때
    일정한 시간을 두고 같은 제목과 같은 내용의 게시물을 올릴 수 있도록 설정해두어야
    문제를 방지할 수 있을 것이다.

읽기

모든 문자열이 일치하는 게시물을 읽는 것은 시간적으로 비효율적이므로
게시물에 고유 ID를 부여하고, 데이터베이스의 인덱스(Index)를 이용하면
인덱스를 기준으로 게시물을 조회할 수 있다.

게시판을 만들 때는 댓글, 좋아요, 대댓글 등의 데이터를 저장하기 위해
주로 관계형 데이터베이스(RDBMS)를 사용하는데,
MySQL, PostgreSQL 등 대표적인 관계형 데이터베이스의 인덱스는
내부적으로 B+Tree 자료구조로 구현되어 있어
정렬된 상태를 유지하면서 빠른 탐색이 가능하다.


시?씨?스터디 결론

Q. 다음 주 면접 질문은

성능을 쓰기와 읽기 관점으로 구분해서 설명해주세요.

입니다.

여러분의 지망 도메인에 맞게 준비하시면 됩니다.

A .웹 도메인에서 쓰기와 읽기 관점의 성능은
클라이언트에서 전달된 데이터를 효율적으로 적재하고
빠른 시간내에 탐색할 수 있는가
입니다.

성능이란, 기능성의 정도이며, 즉, 구현한 기능이 얼마나 잘 작동하는가를 의미합니다.

웹도메인의 핵심역할은 언제나 유저의 사용을 위하여 있으므로 웹도메인에서 쓰기와 읽기관점의 성능을 측정하기 위해서는 유저의 편의를 위한 쓰기와 읽기가 잘 되고 있는 지를 측정해야합니다.

따라서 쓰기와 읽기 성능을 높인다는 것은 곧 사용자가 데이터를 저장하고 조회하는 과정에서 불편함을 느끼지 않도록 하는 것이며,

이것이 웹 도메인에서 성능 최적화의 궁극적인 목표라고 할 수 있을것입니다.

profile
양치기소녀

0개의 댓글