본문 바로가기

★ 프로젝트 + 트러블 슈팅 ★46

★단일 서버 성능개선 트러블 슈팅★ (주 트래픽이 무엇인지를 파악하는 습관을 기르자) [프로젝트 현 상황] > E커머스 웹 구현중 (ex. 쿠팡, G마켓) > 특정 시간대에 특정 상품의 재고한정 특가이벤트 기능 추가예정 https://github.com/OnNaNOn/OMG GitHub - OnNaNOn/OMG Contribute to OnNaNOn/OMG development by creating an account on GitHub. github.com [현재 상황] EC2서버(1개) Mysql (DB1개) 로 진행 중에 있음 [트러블 시나리오] 1. 평상 시, 1일 총 접속자 수 10만명 2. 특정 시간대, 특정 상품의 특가이벤트에서 대규모 트래픽이 발생함 (평시 대비 약 5배) [트러블 시나리오에서 발생될 문제점] 1. 평상 시, 대규모 트래픽으로 인해 응답속도가 저하될 수 있음 .. 2022. 12. 13.
CI/CD 트러블 슈팅 2 이전에 github에 issue로 작성해놓은 내용이 있어, 아래에 글을 남겨놓는다. 주소는 https://github.com/OnNaNOn/OMG/issues/156 이다! 💡 이슈 내용 CI/CD진행 (github actions) #78 이슈의 내용과 같이, 현재 프로젝트에 CI/CD 도입이 완료됨 허나 중간에 재배포되는 과정에서 일시적으로 중단되는 현상이 발생함 현재 프로젝트의 메인 기능은 상품주문기능인데, 결제 도중에 서버가 일시적으로 중단되는 현상이 발생한다는 것은 서비스의 기능에 있어서 큰 에로사항이므로, 이를 위해 해결책이 필요한 상황이라 판단함. 🔎 문제 분석 같은 포트에 재배포를 하기에 중간에 일시적으로 중단되는 현상이 발생한 것으로 문제를 분석함. ✅ 작업 내용 1. 포트를 서로 교체시켜.. 2022. 12. 13.
CI/CD 트러블 슈팅 1 1. workflow 진행 시 Build 오류 발생 우측과 같은 오류가 발생하여 왼쪽에 기재된 내용을 workflow에 추가하여 다시 실행하였음 2. workflow 진행 시 Build 오류 발생 해당 오류 발생 시는 문제상황 가능성은 아래와 같이 나뉘어짐. [문제 종류] 1. RDS의 보안규칙에 EC2 보안그룹을 넣어주지 않았기 때문 2. Mysql 보안정보가 기재되지 않았기 때문 3. Mysql 보안정보가 틀렸기 때문 4. 환경변수 이용 시, 올바르게 연동이 되지 않았기 때문 확인한 결과 1,2,3에서의 문제는 이상이 없었다. 그러므로 4번이 가장 유력한 문제점이기에, 해결방법을 찾아야했다. github actions는 repository에 있는 정보를 기반으로 실행되는 것이기에 repository에.. 2022. 12. 13.
CI/CD (github actions + AWS + S3 + codeDeploy) 진행순서 CI/CD 진행순서 velog.io/@k_si Github Actions 에서 AWS 에 배포하는 방법 AWS EC2 설정 추가 AWS S3 버킷 생성 AWS CodeDeploy 앱 생성 및 배포 설정 Github Actions 에서 사용할 사용자 권한 추가 AppSpec 파일 작성 배포 스크립트 작성 Github Actions Workflow 작성 Github 에서 push 로 배포하기 1. 배포 방법 main 브랜치에 Push 하면 자동으로 EC2 까지 배포되는 Workflow 를 만들예정이다. 먼저 Workflow 를 작성하기 전에 어떤 방식으로 EC2 까지 배포가 이루어지는 지 전체적인 플로우를 알아야 한다. Github Actions 를 확인하면 CI 과정에서 했던 것처럼 aws.yml 이라는 .. 2022. 12. 13.
Timezone 트러블 슈팅을 위한 ubuntu 시스템시각 기준(UTC, KST)변경 방법 하단에 나와있는 상품의 이벤트 시작일, 이벤트 종료일을 LocalDateTime now를 이용하여 시스템 시각기준으로 생성하였다. 그 결과, 초기에는 시작일, 종료일이 UTC기준 시간으로 표기되어, 이를 KST로 표기하기 위해 시도하였다. 방법은 간단하였다. [코드내용] @Scheduled(cron = "0 07 14 * * *") // 21-30일까지 02시 13분 55초에 스케줄 동작 >> cron = "55 13 02 21-30 * *" public void createEvent() { Product savedProduct = productRepository.save(new Product("에어팟 프로2", 4990, "이벤트 상품", "초고속 배송", 5000, 1L)); LocalDateTime.. 2022. 12. 13.
2022.12.10 TIL (PC 성능에 따른 Jmeter 부하테스트 결과값 상이??) PC 성능에 따라서 Jmeter 부하테스트 결과값이 다른 상황이 발생했다. 이게 가능한가?? 아래에 오늘 있었던 일들을 정리하였다. DB 커넥션 풀이 모자라 병목현상이 발생하여 부하테스트 결과값에 계속 에러가 뜨는 것으로 생각하였다. 그래서 DB 스케일업을 했는데도 에러가 발생하여 이런저런 시도를 한 내용들이다. 마지막엔 반전이 숨어있다. 이따 아침에 이유를 알아봐야 겠다... 도대체 왜일까.. [부하테스트 트러블 슈팅을 하며 그동안 쌓아온 기록들을 아래에 기술] https://github.com/OnNaNOn/OMG/issues/213 ALB(Application-Load Balancer) + Auto Scaling 트러블슈팅 · Issue #213 · OnNaNOn/OMG 💡 이슈 내용 AWS기준, .. 2022. 12. 10.