
⁉️ 문제 원인
고객사 운영환경에서 트래픽이 몰릴 경우 App Service에서 다량의 HTTP Server Error가 발생됨을 확인했습니다.(대략 139건 발생)

App Service 메트릭 정보를 통해 CPU, Memory 부하도 높지만 Data Out이 최대 1.5GB가 발생했음을 확인했습니다.



해당 메트릭 정보를 토대로 App Service에서 Output 되는 다량의 데이터들이 어디로 가는지 파악해야 할 필요가 있었습니다. Application Insight 맵을 통해 서비스 부하 기간 동안 App Service에서 DB로 48,000건 호출됨을 확인할 수 있었습니다. 즉, 대부분의 통신이 DB와 이루어진 것 입니다.

MariaDB 메트릭 정보를 확인해보니 서비스 부하 기간 동안 IO Percentage가 최대 115%에 도달했습니다.

MariaDB 스펙을 확인해보니 현재 IOPS가 100으로 설정되어 있어 트래픽 증가 시 DB에서 입출력 처리가 늦어져 Timeout이 발생한 것이었습니다.

‼️ 해결 방법
위에서 분석한 결과 DB의 낮은 IOPS로 인하여 App Service로 들어오는 트래픽들이 MariaDB에서 병목이 발생했습니다. 뿐만 아니라 App Service 전체적으로도 CPU, Memory에서 부하가 발생하기에 App Service와 MariaDB를 Scale Up 해야 했습니다.
한 가지 제약사항이 있다면 Azure MariaDB의 경우 IOPS만 Scale Up이 불가하며, 스토리지 용량도 함께 Scale Up 해야 합니다. 하지만 일단 한번 Scale Up 하게 되면 Scale Down 은 불가합니다.
'클라우드 > Azure' 카테고리의 다른 글
| [EventHub] Azure EventHub와 함께 Spring Kafka 사용 (1) | 2025.01.30 |
|---|---|
| [EventHub] EventHub에서 Kafka를 사용 (0) | 2025.01.30 |
| [Kubernetes] AKS Premium Storage Persistent Volume 기능 검증 (0) | 2025.01.30 |
| [Kubernetes] Kubernetes Forward Proxy를 통한 Outbound 통제 (0) | 2025.01.30 |
| [DNS] Azure Private DNS Resolver 구성 (0) | 2025.01.30 |