검색

33장. I/O 및 파일 시스템 성능에 영향을 주는 요인

download PDF

스토리지 및 파일 시스템 성능에 대한 적절한 설정은 스토리지 목적에 따라 크게 달라집니다.

I/O 및 파일 시스템 성능은 다음 요인의 영향을 받을 수 있습니다.

  • 데이터 쓰기 또는 읽기 패턴
  • 순차적 또는 임의
  • 버퍼링 또는 직접 IO
  • 기본 표시와 데이터 정렬
  • 블록 크기
  • 파일 시스템 크기
  • 저널 크기 및 위치
  • 액세스 시간 기록
  • 데이터 신뢰성 보장
  • 데이터 사전 가져오기
  • 디스크 공간 사전 할당
  • 파일 조각화
  • 리소스 경합

33.1. I/O 및 파일 시스템 문제 모니터링 및 진단 툴

Red Hat Enterprise Linux 8에서 시스템 성능을 모니터링하고 I/O, 파일 시스템 및 해당 구성과 관련된 성능 문제를 진단하는 데 사용할 수 있는 툴은 다음과 같습니다.

  • vmstat 툴은 전체 시스템에서 프로세스, 메모리, 페이징, 블록 I/O, 인터럽트 및 CPU 활동에 대해 보고합니다. 이는 관리자가 I/O 하위 시스템이 성능 문제를 책임지고 있는지 여부를 결정하는 데 도움이 될 수 있습니다. vmstat 를 사용한 분석에서 I/O 하위 시스템에서 성능이 저하된 것으로 표시되면 관리자가 iostat 도구를 사용하여 담당 I/O 장치를 확인할 수 있습니다.
  • iostat 는 시스템의 I/O 장치 부하를 보고합니다. sysstat 패키지에서 제공합니다.
  • blktrace 는 I/O 하위 시스템에서 시간을 소비하는 방법에 대한 자세한 정보를 제공합니다. 병행 유틸리티 blkparse 는 blktrace의 원시 출력을 읽고 blktrace 에서 기록한 입력 및 출력 작업의 요약을 사람이 읽을 수 있습니다 .
  • BTT는 blktrace 출력을 분석하고 데이터가 I/O 스택의 각 영역에 소비되는 시간을 표시하여 I/O 하위 시스템에서 병목 현상을 더 쉽게 식별할 수 있도록 합니다. 이 유틸리티는 blktrace 패키지의 일부로 제공됩니다. blktrace 메커니즘에서 추적하고 btt 에 의해 분석되는 몇 가지 중요한 이벤트는 다음과 같습니다.

    • I/O 이벤트(Q)의 대기열
    • I/O를 드라이버 이벤트(D)로 디스패치
    • I/O 이벤트 완료(C)
  • iowatcherblktrace 출력을 사용하여 시간 경과에 따라 I/O를 그래프로 표시할 수 있습니다. 디스크 I/O의 논리 블록 주소(LBA), 초당 메가바이트 단위 처리량, 초당 검색 수, 초당 I/O 작업 수에 중점을 둡니다. 그러면 장치의 1초당 한도에 도달하는 시기를 식별하는 데 도움이 됩니다.
  • BCC(BPF Compiler Collection)는eBPF(extended Berkeley Packet Filter) 프로그램을 쉽게 생성할 수 있는 라이브러리입니다. eBPF 프로그램은 디스크 I/O, TCP 연결 및 프로세스 생성과 같은 이벤트에서 트리거됩니다. BCC 툴은 /usr/share/bcc/tools/ 디렉토리에 설치됩니다. 다음 bcc-tools 는 성능을 분석하는 데 도움이 됩니다.

    • biolatency 는 히스토그램의 블록 장치 I/O(디스크 I/O)의 대기 시간을 요약합니다. 이를 통해 장치 캐시 적중 및 캐시 누락에 대한 두 가지 모드와 대기 시간 이전 모드를 포함하여 배포를 연구할 수 있습니다.
    • biosnoop 는 발급 프로세스 ID 및 I/O 대기 시간과 함께 각 I/O 이벤트를 표시하는 기본 블록 I/O 추적 툴입니다. 이 툴을 사용하여 디스크 I/O 성능 문제를 조사할 수 있습니다.
    • biotop 은 커널의 블록 i/o 작업에 사용됩니다.
    • filelife 도구는 stat() syscall을 추적합니다.
    • fileslower 는 느린 동기 파일 읽기 및 쓰기를 추적합니다.
    • filetop 는 파일 읽기 및 프로세스별 쓰기를 표시합니다.
    • ext4slower,nfsslowerxfsslower 는 파일 시스템 작업이 특정 임계값보다 느리게 표시하는 도구이며 기본값은 10ms 입니다.

      자세한 내용은 BPF Compiler Collection을 사용하여 시스템 성능 분석 에서 참조하십시오.

  • bpftace 는 성능 문제를 분석하는 데 사용되는 eBPF 의 추적 언어입니다. 또한 시스템 관찰을 위해 BCC와 같은 추적 유틸리티를 제공하므로 I/O 성능 문제를 조사하는 데 유용합니다.
  • 다음 SystemTap 스크립트는 스토리지 또는 파일 시스템 성능 문제를 진단하는 데 유용할 수 있습니다.

    • disktop.stp: 5초마다 디스크를 읽거나 쓰는 상태를 확인하고 해당 기간 동안 상위 10개 항목을 출력합니다.
    • iotime.stp: 읽기 및 쓰기 작업에 사용된 시간과 읽기 및 작성된 바이트 수를 표시합니다.
    • traceio.stp: 1초마다 관찰된 누적 I/O 트래픽을 기반으로 상위 10개의 실행 파일을 인쇄합니다.
    • traceio2.stp: 실행 가능한 이름과 프로세스 식별자를 지정된 장치에 대한 읽기 및 쓰기로 인쇄합니다.
    • Inodewatch.stp: 지정된 주 또는 부 장치의 지정된 inode에 읽기 또는 쓰기가 발생할 때마다 실행 파일 이름 및 프로세스 식별자를 인쇄합니다.
    • inodewatch2.stp: 지정된 주 또는 부 장치의 지정된 inode에서 속성이 변경될 때마다 실행 파일 이름, 프로세스 식별자 및 속성을 출력합니다.

추가 리소스

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.