본문 바로가기
회고

[항해 플러스 백엔드-6주차] 이커머스 동시성 제어

코동이 2024. 11. 2.

이번 챕터를 시작하며 꼭 해내고 싶었던 목표

간단하더라도 k6 성능 테스트

Redisson 락 구현하기

 

이번 챕터를 마무리하며 가장 기억에 남는 성취

 그림을 활용해 독자 친화적인 보고서를 만드는 것. 락을 이용한 성능 테스트도 중요했지만 트랜잭션의 범위도 중요한 과제였습니다. 프로젝트마다 구현방식이 다르기 때문에 플로우 차트를 활용해 독자들이 쉽게 파악 할 수 있도록 했습니다. 락의 종류는 어떤 것들이 있고 락을 사용한 이유가 무엇인지 근거를 제시했습니다. 또한 k6를 활용하여 락의 종류에 따른 성능을 테스트 했습니다. 

 

이번 챕터에서 반드시 이뤘으면 했는데 이루지 못한 것(아쉬운 점)

 k6의 다양한 지표를 확인해 보는 것. p90, p95, p99등의 성능과 기타 다른 지표들이 많이 있습니다. 단순히 기준 시간 동안 요청 횟수와 성공 횟수만 비교했습니다. p95, p99는 사용해본 적이 없기 때문에 기준을 세우기 애매했습니다. 앞으로 k6로 테스트를 진행하면 기준 성능을 정하고 개선하는 작업을 해보겠습니다.

 

 트랜잭션의 경합 상황을 그림으로 그리지 못한 것. 갱신손실, 데드락 상황은 머리로 이해하고 있지만 조금 더 구체적인 상황에서 직접 그림을 그려서 만들지 못한 것이 아쉽습니다. 보고서를 잘 만다는 것은 읽는 사람을 배려하기도 하지만 나 자신도 한번 더 학습하고 공부하는 기회가 됩니다. 다음 기회에 다양한 그림을 활용해보겠습니다.

 

내가 강화해야 할 강점 중 가장 중요하다고 생각하는 한 가지

 다른 사람이 쉽게 이해할 수 있는 수준으로 명료하게 설명하는 것(문서화 포함). 결국 일은 협업이기 때문에 내가 모르는 부분은 물어봐야하며 다른 사람이 모르면 알려주어야 합니다. 시간이 지나면 기억에서 지워질 수밖에 없습니다. 좋은 경험과 기술은 다른 사람이 잘 활용할 수 있도록 정리하려고 합니다. 그래서 사용한 기술을 틈틈히 Issue에 정리하고 있습니다.

 

내가 개선해야 할 개선점 중 가장 중요하다고 생각하는 한 가지

 처음부터 너무 어려운 것을 하지 말고 쉬운 것부터 차근차근 할 것. k6 테스트의 경우 성능 테스트이기 때문에 사용방법에 따라 간단한 테스트부터 고도화된 테스트까지 범위가 넓습니다. 엄청난 개선의 과정을 한번에 보여줄 수 있으면 좋겠지만 어떤 일이든 처음에는 작은 것부터 차근차근 쌓아올리는 것이 학습도 빠르고 가장 빨리 목표에 도달하는 방법이라고 생각합니다.  

 

반응형