개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.17 07:06

인노드 Max Dirty Pages 퍼센트 설정에 대해 질문합니다.

목록
  • 엔지니어링고수 15일 전 2025.05.17 07:06 인기
  • 175
    1
제가 현재 인노드 설정 중 --innodb_max_dirty_pages_pct 옵션에 대해 이해가 부족하네요.
이 옵션은 MySQL에서 Dirty Pages를 얼마나 보관할 수 있는지에 대한 퍼센트를 지정하는 것인 줄 알았는데,
Dirty Pages가 무엇인지 정확히 이해하고 싶습니다. Dirty Pages는 어떤 상황에서 발생할 수 있는지,
그리고 이 옵션을 설정하는 이유는 무엇인지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  15일 전



    InnoDB는 MySQL의 데이터베이스 엔진 중 하나로, Dirty Pages는 InnoDB의 버퍼 풀에 저장된 데이터가 디스크에 기록되지 않은 상태를 의미합니다. Dirty Pages는 다음과 같은 상황에서 발생할 수 있습니다.

    - 데이터가 변경되었지만 아직 디스크에 기록되지 않은 상태
    - 데이터가 버퍼 풀에 저장되어 있지만 아직 디스크에 기록되지 않은 상태

    InnoDB는 버퍼 풀에 저장된 데이터를 디스크에 기록하는 것을 주기적으로 수행합니다. 이 과정을 InnoDB는 'flush'라고 합니다. flush를 수행하지 않으면 Dirty Pages가 계속해서 쌓이게 됩니다.

    --innodb_max_dirty_pages_pct 옵션은 InnoDB가 버퍼 풀에 저장된 데이터를 디스크에 기록하는 주기를 결정하는 옵션입니다. 이 옵션은 Dirty Pages의 퍼센트를 지정하여 InnoDB가 버퍼 풀에 저장된 데이터를 디스크에 기록하는 주기를 결정합니다.

    예를 들어, --innodb_max_dirty_pages_pct=50 옵션을 설정하면 InnoDB는 버퍼 풀에 저장된 데이터가 50% 이상 Dirty Pages가 쌓이면 flush를 수행합니다. 이 옵션을 설정하는 이유는 다음과 같습니다.

    - Dirty Pages가 쌓이면 디스크 공간이 부족해질 수 있습니다.
    - Dirty Pages가 쌓이면 데이터가 손상될 수 있습니다.
    - Dirty Pages가 쌓이면 MySQL의 성능이 저하될 수 있습니다.

    따라서, --innodb_max_dirty_pages_pct 옵션을 설정하여 InnoDB가 버퍼 풀에 저장된 데이터를 디스크에 기록하는 주기를 결정하여 Dirty Pages를 관리할 수 있습니다.

    2025-05-17 07:07

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 24,183건 / 100 페이지

검색

게시물 검색