동현 유
척척석사
동현 유
전체 방문자
오늘
어제
  • 분류 전체보기 (181)
    • BlockChain (48)
      • [paper] Consensus (13)
      • [paper] Execution (19)
      • [paper] Storage (5)
      • [paper] ZKP (1)
      • [paper] Oracle (1)
      • Blockchains (9)
    • Java (19)
      • Java의 정석 (13)
      • Java 파헤치기 (5)
    • Python (20)
      • Python 뜯어보기 (6)
      • 데이터 분석 기초 (5)
      • Python 기초 강의 (6)
      • Python 기초 강의 부록 (3)
    • Golang (0)
    • MySQL (3)
      • programmers (2)
      • 기본 문법 (0)
    • 웹 프로젝트 (IBAS) (36)
      • Django 레거시 (14)
      • SpringBoot api 개편 (14)
      • Infra (3)
      • 서버 장애 기록 (4)
      • 신입팀원 교육 자료 (1)
    • CS (30)
      • Operating System (22)
      • Computer Security (3)
      • Network (4)
      • DBMS (1)
    • 책 (10)
      • 도메인 주도 설계 철저 입문 (9)
      • Real MySQL 8.0 (1)
    • BOJ 문제 풀이 (3)
    • 이러쿵저러쿵 (10)
    • 회고 (1)

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
동현 유

척척석사

AWS 비정상적인 디스크 Ops 잡기
웹 프로젝트 (IBAS)/Infra

AWS 비정상적인 디스크 Ops 잡기

2022. 5. 31. 11:41

상황

aws 월별 청구서 내역 중, EBS IOps

  aws 비용 명세서를 보는데 위처럼 ebs IOps(input/output operations per second)가 갑자기 엄청나게 늘어났다. 이전달까지는 2백만 IOs 안쪽으로 기록됐는데, 이번달은 6천만 IO가 넘어가서 추가요금이 발생하는 상황이었다. 평소보다 30배 이상 증가한 셈이다. 바로 cloud watch 에서 모니터링 지표를 확인했다. 

  위에서 볼 수 있듯이, 쓰기 처리량이 5월 초부터 증가했다. 반면 평균 쓰기 크기는 줄었다. 종합하자면, 아주 작은 크기의 디스크 쓰기 작업이 자주 발생하고 있는 상황이다. IO 횟수로 과금되는 EBS 특성상 한번 IO 할 때 데이터를 최대한 모아서 한번에 작업하는 것이 유리한데, 매우 비효율적으로 작동하고 있는 셈이다. 로그성 데이터가 초단위로 쓰여지는 상황으로 추정했다.

 


대응

(1) 이슈 등록

  : 상황을 인지하고 바로 github issue 로 등록했다.

 

(2) 쓰기 작업 중인 프로세스 목록 확인

iotop 명령어를 통해 현재 쓰기 작업중인 프로세스 목록을 확인할 수 있다.

리눅스 iotop 명령어를 이용해서 현재 쓰기작업을 하는 프로세스가 무엇이 있는지 확인했다.

 

웹서버와 WAS 등을 제외하고, collectd 라는 프로세스가 5초마다 쓰기작업하는 것을 확인했다.

 

collectd 는 리눅스 시스템 메트릭 정보를 주기적으로 수집하는 프로세스다.

 

주로 모니터링 툴과 함께 사용되는데, 5월 초에 모니터링 구축한다고 난리치다가 말았던 기억이 떠올랐다... 메모리나 디스크가 위험 수위까지 사용되면 알림이 오도록 모니터링 시스템을 구축하려다가 시간이 없어서 중단했었는데, 그 때 collectd를 설치했었다. 허허 아무래도 이 친구 때문인 듯하다.

(3) 의심되는 프로세스 종료

  바로 collectd 를 종료하고 AWS cloudwatch 로 디스크 처리량을 확인해보았다. 

바로 뚝 떨어졌다... 허허... 이거 때문에 이번달 5$가 추가적으로 과금됐다... 허허

 

'웹 프로젝트 (IBAS) > Infra' 카테고리의 다른 글

프록시 요청 시 원래 사용자 ip 복원하기 (Nginx, Cloudflare)  (2) 2022.05.05
AWS 운영비 줄이기(ec2, savings plan, ebs, s3)  (0) 2022.05.03
    동현 유
    동현 유
    Fault Tolerant System Researcher for more Trustful World and Better Lives. (LinkedIn: https://www.linkedin.com/in/donghyeon-ryu-526b8a276/)

    티스토리툴바