[Moassam] 좋아요/북마크 동시성 정합성 테스트 3 - K6 부하 테스트 (성능 개선 후)
·
Project/Moassam
· 들어가며이전 글에서는 ON CONFLICT DO NOTHING과 Atomic Update를 적용해서좋아요와 북마크의 count 변경 기준을 실제 데이터 변경 여부로 수정했습니다. 이전글 바로가기 [Moassam] 좋아요/북마크 동시성 정합성 테스트 2 - 정합성 개선하기 (ON CONFLICT, Atomic Update)· 들어가며이전 글에서는 K6 부하 테스트를 통해 좋아요와 북마크 기능에서 동시성 문제로 인해 데이터 정합성이 맞지 않는 문제가 발생하는 것을 확인했습니다.이전글 바로가기 [Moassam] 좋아요myojun.tistory.com 이번 글에서는 동일한 K6 테스트 환경에서 다시 부하 테스트를 진행하여기존에 발생했던 데이터 정합성 문제와 요청 처리 성능이 실제로 어떻게 변화했는지 살펴보겠..
[Moassam] 좋아요/북마크 동시성 정합성 테스트 2 - 정합성 개선하기 (ON CONFLICT, Atomic Update)
·
Project/Moassam
· 들어가며이전 글에서는 K6 부하 테스트를 통해 좋아요와 북마크 기능에서 동시성 문제로 인해 데이터 정합성이 맞지 않는 문제가 발생하는 것을 확인했습니다.이전글 바로가기 [Moassam] 좋아요/북마크 동시성 정합성 테스트 1 - 테스트 환경 구성 및 K6 부하 테스트(성능 개선· 들어가며커뮤니티 서비스에서 실제 좋아요와 북마크 데이터 수는 posts 테이블 안에 있는 count 컬럼과 항상 동일해야 합니다. 하지만 여러 사용자가 동시에 같은 게시글에 좋아요나 북마크 요myojun.tistory.com특히 100 VU와 같은 비교적 낮은 동시성 환경에서도 HTTP 요청은 정상적으로 처리되었지만, 실제 데이터와 posts 테이블의 count 값은 일치하지 않았습니다. 원인은 count 변경과 실제 데이터..
[Moassam] 좋아요/북마크 동시성 정합성 테스트 1 - 테스트 환경 구성 및 K6 부하 테스트(성능 개선 전)
·
Project/Moassam
· 들어가며커뮤니티 서비스에서 실제 좋아요와 북마크 데이터 수는 posts 테이블 안에 있는 count 컬럼과 항상 동일해야 합니다. 하지만 여러 사용자가 동시에 같은 게시글에 좋아요나 북마크 요청을 보내는 상황이 발생한다면, 예상하지 못한 데이터 불일치 문제가 발생할 수 있습니다. 특히 많은 사용자가 한 번에 접근하는 인기 게시글의 경우 이러한 문제가 발생할 가능성이 높아지기 때문에, 동시 요청 환경에서도 좋아요와 북마크의 데이터 정합성을 보장하는 것이 중요합니다. 이번 테스트에서는 실제로 동시에 여러 요청을 발생시켜 정합성 문제가 발생하는지 확인하고, 개선 과정을 통해 안정적으로 데이터를 관리할 수 있도록 만들어보았습니다.· 문제 가설- 현재의 구현 방식현재 Moassam의 좋아요와 북마크 기능은 다..
[Moassam] Moassam 성능 테스트 - 게시글 목록 조회 시 병목 발생
·
Project/Moassam
· 들어가며데이터가 적을 때는 게시글 목록 조회 성능에 문제가 없을 수 있지만, 게시글 데이터가 지속적으로 증가하고 많아진다면, 가장 자주 호출 되는 목록 조회 API가 병목 지점이 될 가능성이 다분합니다. 특히 Moassam의 게시글 조회는 단순히 카테고리 조건만 사용하는 것이 아니라,다양한 필터와 최신순 정렬을 함께 사용합니다.-- category = MOABANGWHERE category = ?AND post_age = ?AND resource_type = ?ORDER BY created_at DESCLIMIT 9;-- category = FREEWHERE category = ?AND head_tag = ?ORDER BY created_at DESCLIMIT 8;따라서 현재 인덱스가 이런 조회 패턴..
[Moassam] Moassam 성능 테스트 준비 - 테스트 데이터 생성 및 시나리오 설계
·
Project/Moassam
· 하는 이유?아직 Moassam 프로젝트 전체에 대한 회고 및 기술 정리 포스팅은 작성하지 않았지만, 서비스 운영을 고려했을 때 실제 트래픽 상황에서 어떤 병목이 발생할 수 있는지 검증하고 개선하는 과정도 중요하다고 생각했습니다. 따라서 이번에는 Moassam 서비스의 성능 개선을 목표로 부하 테스트를 진행해보려고 합니다. 이번 글은 성능 테스트 과정 전체를 정리하는 허브 포스팅 역할로 작성할 예정이며,각 테스트 및 개선 과정은 별도의 글로 작성하고 완료될 때마다 해당 포스팅과 연결할 예정입니다.· 부하 테스트 시나리오 선정Moassam 서비스에서 성능 문제가 발생할 가능성이 높은 API들을 기준으로 총 3가지 시나리오를 선정했습니다.1) 게시글 목록 조회 시 병목 발생Moassam 성능 테스트 - 게..