오늘 한일
- 하루가 산만했습니다. 구현해야 할 업무는 코드를 작성하는 것이 아닌 코드 최적화, 부하 테스트, CI / CD 등 구조를 변경하는 등 효율적인 서버를 구현하는 업무만 남아있습니다. 부하 테스트를 진행하며 새로운 지식을 습득하는 과정에서 어떤 업무부터 먼저 진행해야 할지 정하지 못해 프로젝트 진행 속도가 상당히 느려졌습니다. 점심이 되기 전 정신을 차리고 남은 업무를 순서에 맞게 정리하였고, 적용해야 하는 기능과 해당하는 기능을 구현하기 위해 어떤 것이 선행되는지 정의해 남은 시간을 효율적으로 보낼 수 있었습니다.
- Artillery 모듈을 사용해 부하 테스트를 진행하였습니다. 기존에는 모노리스 서버로 구성하여 MySQL 서버에서 부하가 발생할 경우 EC2 서버도 멈춰버리는 상황이었지만, AWS RDS로 데이터를 이관하면서 MySQL 서버에서 오류가 발생하더라도 EC2 서버에는 영향이 생기지 않기 때문에 자유롭게 부하 테스트를 진행 할 수 있었습니다.
- Redis Benchmark를 진행했습니다. Redis 서버의 부하 테스트를 진행하기 전 Redis의 상태가 정상적인지 확인하기 위해 Redis Benchmark를 실행하였습니다. 단순히 Redis의 현재 상황을 출력해주는 것이 아닌 GET, SET, LPUSH, LRANGE 등 다양한 명령어를 10만 회 실행해 모든 이벤트가 언제 종료되는지 확인하였고, 벤치마크를 실행하면서 특이한 문제점은 발생하지 않아 부하 테스트를 진행해도 괜찮다고 판단하였습니다.
- Socket 부하 테스트 Artillery를 작성하고 있습니다. 단순히 Header가 변경되지 않고 동일한 API를 호출하는 Artillery는 작성하기 쉽지만, 일반적인 API가 아닌 Socket 통신 상황에서 Header마다 다른 Authorization을 사용해야 하는 것을 어떤 방식으로 구현해야 할지 고민하고 있었습니다. 하나의 클라이언트 테스트를 진행할 때마다 별도의 Artillery 설정을 작성하는 것은 비효율적이고, output이 여러 개의 파일로 분산되어 정상적인 분석이 진행되지 않을 것 같습니다. 아직 확실한 해결방법을 찾지 못했지만, 월요일까지 확실하게 구현 할 수 있는 방법을 찾아봐야 할 것 같습니다.
업무 리스트
- Redis Benchmark 적용
- 비밀번호 찾기 API 오류 수정 [15:02]
- Artillery 부하 테스트 json 작성 [17:30]
- Artillery 부하 테스트 결과 생성 [17:30]
오늘 배운 것
- Artillery 모듈 서버 부하 테스트
- Redis Benchmark
- AWS Cloud Watch
내일 할 것
- 코딩 테스트 연습
- WIL 작성
'항해99 > TIL' 카테고리의 다른 글
2021-08-30 항해99 TIL (0) | 2021.08.31 |
---|---|
2021-08-29 항해99 TIL (0) | 2021.08.30 |
2021-08-27 항해99 TIL (0) | 2021.08.28 |
2021-08-26 항해99 TIL (0) | 2021.08.27 |
2021-08-25 항해99 TIL (0) | 2021.08.26 |