OS Management/Windows

Troubleshooting - Iometer 사용법

chronosa 2021. 1. 15. 01:15

금번에 Windows 에서 디스크 IOPS 성능을 측정할 일이 있어 사용할 툴을 찾다가 발견한 툴이다.

리눅스 같은 경우 sysbench와 같은 툴을 사용하면 되는데, Windows에서는 sysbench가 지원되지 않아 Iometer를 사용해보았다. (※novabench 라는 대체 툴이 있다고는 하는데, 실제로 수행했을 때 호환성이 문제인지 Windows 2012 R2 에서 정상적으로 동작하지 않았다.) 

 

1. 개요

아래의 공식홈페이지에 나와있는 설명과 같이, 시스템의 I/O를 측정해주는 툴이다.

Iometer is an I/O subsystem measurement and characterization tool for single and clustered systems.

 

2. 지원되는 플랫폼

버전 1.1.0 기준으로 Linux와 Windows가 지원된다.

다운로드 링크

 

3. 설치방법

설치는 굉장히 간단한데, 다운로드 링크에서 설치파일을 다운받으면 바로 사용이 가능하다.

 

4. 사용방법

로컬에서 사용 시 iometer.exe를 바로 실행시키면 된다.

툴을 실행시키면 아래와 같은 팝업창이 뜨게 된다.

 

 

빠른 실행은 도큐먼트의 Quick Start 부분을 참고한다.

5. 주요 개념

5.1. Iometer와 Dynamo

Iometer

controlling program, server manchine에서 기동되는 프로그램으로 실제로 작업을 수행하는 것은 Dynamo가 수행하며, Iometer는 Dynamo가 수행할 workload를 설정한다.

 

Dynamo

workload generator. Local에서 Iometer를 수행시키면 Dynamo가 자동으로 실행된다. I/O Operation을 수행하고 결과를 수집하여 데이터를 Iometer에 반환한다.

Dynamo는 MultiThreaded로, 하나의 copy가 여러 개의 client program을 simulate할 수 있다.

  • 각각의 Dynamo는 Manager라고 표시된다.
  • Dynamo가 가지고 있는 각각의 Thread는 Worker로 표시된다.

5.2. Targets

Targets는 Network Target과 Disk Target 두 가지 종류가 있으며, 이 중 Disk Target에 대해서만 서술한다.

위의 사진과 같이 두가지 종류의 디스크가 존재한다.

  • Logical drives (노란색) : 파티셔닝된 디스크
  • Physical drives (파란색) : 파티셔닝되지 않은 물리 디스크

Logical drives의 측정은 root directory에 생기는 \iobw.tst라는 파일을 통해 측정이 되며, 해당 파일이 없을 경우에 저 빨간 빗선이 그어진다고 한다. (다만 없어도 생성 후 측정을 시도한다.) 정확한 측정을 위해서는 Physical drives에서 측정하는 것이 권고된다고 한다.

 

※ 참고

 

여러 개의 디스크를 선택하려면 ctrl 또는 shirt click을 하면 된다.

6. 기타

6.1. sequentially access의 경우 single worker에 Outstanding I/Os를 1로 설정

6.2. worker 수를 늘리고 싶으면 Test Setup Tab의 "Number of Workers to Spawn Automatically"에서 설정할 수 있다. 기본은 CPU 개수.

 

6.3. "# of Outstanding I/Os"를 통해 비동기 I/O Operation 부하를 설정할 수 있다. 숫자가 일정 정도에 이르면 더이상 IOPS가 증가하지 않으므로 이를 잘 판단해야 하며, 숫자를 너무 크게 하면 서버가 Hang에 걸릴 수 있다. 

 

6.4. 대부분의 설정은  "Access Specifications Tab" 에서 설정할 수 있다. Random/Sequential 액세스 비중 등

 

6.5. MS SQL Best Practices Article에 따르면, 아래 조합에 대한 테스트를 권고하고 있다.

Test a combination of I/O sizes for read/write and sequential/random. For SQL-focused deployments, be sure to include I/O sizes of 8 KB, 64 KB, 128 KB, 256 KB & 1024 for sequential I/O. (Read-ahead can be up to 1024 KB when running SQL Server Enterprise Edition). For random I/O it is generally safe to focus only on 8-KB I/O. (참조)

 

 

'OS Management > Windows' 카테고리의 다른 글

HeidiSQL Table Column Export and Import  (0) 2021.03.16
[NW] Network Troubleshooting tools - mtr, iperf3  (0) 2020.12.29