SQLIOSim 유틸리티를 사용하여 디스크 하위 시스템의 SQL Server 작업 시뮬레이션

이 문서에서는 SQLIOSim 유틸리티를 사용하여 디스크 하위 시스템에 대한 스트레스 테스트를 수행하여 SQL Server 작업을 시뮬레이션하는 방법을 설명합니다.

원래 제품 버전: SQL Server
원본 KB 번호: 231619

소개

이 문서에서는 SQLIOSim 도구에 대해 설명합니다. SQLIOSim을 사용하여 SQL Server 활용하는 디스크 하위 시스템에 대한 안정성 및 무결성 테스트를 수행할 수 있습니다. 이러한 SQLIOSim 테스트는 Microsoft SQL Server 수행하는 읽기, 쓰기, 검사점, 백업, 정렬 및 미리 읽기 작업을 시뮬레이션합니다. SQL Server I/O 패턴에 대한 자세한 내용은 SQL Server I/O 기본 사항, 2장을 참조하세요. SQLIOSim 유틸리티는 SQL Server 엔진과 독립적으로 이 시뮬레이션을 수행합니다.

I/O 시뮬레이션 테스트의 주요 목표는 SQL Server 사용을 시작하기 전에 기본 I/O 하위 시스템의 안정성을 보장하는 것입니다. SQLIOSim은 SQL Server 상호 작용하지 않으며 SQL Server 실행할 필요도 없습니다. 실제로 대부분의 경우 두 애플리케이션 간의 I/O 처리량 경쟁을 방지하기 위해 SQL Server 실행되지 않을 때 SQLIOSim을 사용하는 것이 좋습니다. 덮어쓸 수 있으므로 SQLIOSim 테스트에서 실제 SQL Server 데이터베이스 파일을 가리키거나 사용하지 않도록 주의해야 합니다.

적절한 데이터 무결성을 유지하려면 새 하드웨어에 SQL Server 배포하기 전에 I/O 하위 시스템의 스트레스 테스트를 수행하는 것이 좋습니다. SQLIOSim 유틸리티는 읽기 및 쓰기 패턴과 SQL Server 문제 식별 기술을 시뮬레이션합니다. 이러한 작업을 수행하기 위해 SQLIOSim 유틸리티는 SQL Server 시스템의 사용자 활동 및 시스템 활동을 시뮬레이션합니다.

SQLIOSim 유틸리티는 데이터 보안 또는 무결성을 보장하거나 보증하지 않습니다. 유틸리티는 시스템 환경의 기준 테스트를 제공하도록 설계되었습니다. SQLIOSim 유틸리티는 잠재적인 데이터 무결성 문제를 노출할 수 있습니다.

로깅 및 데이터 스토리지에 대한 자세한 내용은 SQL Server 데이터 안정성을 확장하는 로깅 및 데이터 스토리지 알고리즘 설명을 참조하세요.

성능 벤치마크 테스트를 수행해야 하고 스토리지 시스템의 I/O 처리량 용량을 확인하려면 Diskspd 도구를 대신 사용합니다.

SQLIOSim 유틸리티는 이전에 SQL70IOStress 유틸리티로 알려진 SQLIOStress 유틸리티를 대체합니다.

SQLIOSim 위치

이전에는 SQLIOSim이 별도의 다운로드 패키지로 제공되었습니다. SQL Server 2008부터 SQLIOSim은 SQL Server 제품 설치에 포함됩니다. SQL Server 설치하면 SQL Server 설치의 \Binn 폴더에서 SQLIOSim 도구를 찾을 수 있습니다. 이 업데이트된 버전의 도구를 사용하여 디스크 하위 시스템의 IO 작업을 시뮬레이션하는 것이 좋습니다.

세 개의 파일은 SQLIOSim 패키지의 일부입니다. \Binn 폴더에는 SQLIOSim.com 및 SQLIOSim.exe 두 개의 실행 파일이 포함되어 있습니다. 두 실행 파일 모두 동일한 I/O 시뮬레이션 기능을 제공합니다.

  • SQLIOSim.com 명령줄 도구입니다. 사용자 상호 작용 없이 실행되도록 구성할 수 있습니다. 이 구성을 수행하려면 명령줄 매개 변수, 구성 파일 또는 이러한 두 메서드의 조합을 사용할 수 있습니다.
  • SQLIOSim.exe 명령줄 매개 변수를 허용하지 않는 그래픽(GUI) 애플리케이션입니다. 그러나 SQLIOSim.exe 구성 파일에서 기본 구성 데이터를 로드합니다.
  • 구성 파일을 사용하여 SQLIOSim을 사용하여 I/O 시뮬레이션을 자동화할 수도 있습니다. 자세한 내용은 SQLIOSim 구성 파일 섹션을 참조하세요.

SQL Server 없이 컴퓨터에서 SQLIOSim 사용

SQL Server 설치하기 전에 머신에서 확장 테스트에 SQLIOSim을 사용하는 것이 좋습니다. 이를 사용하여 나중에 데이터 및 로그 파일을 배치할 I/O 하위 시스템을 테스트하고 I/O 하위 시스템의 안정성을 확인합니다. 이 작업을 수행하려면 SQL Server 설치된 컴퓨터에서 세 개의 SQLIOSim 파일을 복사하고 SQL Server 설치하기 전에 테스트를 실행하는 것이 좋습니다. 미리 구성된 설정을 사용하려는 경우 SQLIOSim.com 복사하고, SQLIOSim.exe, 필요에 따라 하나 이상의 구성 파일을 복사합니다. 그런 다음, 해당 컴퓨터에서 테스트 시뮬레이션을 실행합니다.

SQLIOSim을 사용하는 방법

SQLIOSim을 실행하는 동안에는 SQL Server 서비스가 실행되지 않아도 됩니다. 실제로 SQLIOSim이 실행되는 동안에는 I/O 리소스에 대해 경쟁할 수 있으므로 SQL Server 실행하지 않는 것이 좋습니다.

경고

테스트를 위해 실제 SQL Server 데이터베이스 파일을 지정하지 마세요. SQLIOSim 유틸리티는 임의 테스트 패턴으로 데이터를 덮어쓰고 실제 SQL Server 데이터가 손실됩니다.

다음 몇 가지 예제에서는 GUI 및 명령줄을 사용하여 SQLIOSim을 실행하는 방법을 보여 줍니다.

예제 1: GUI 사용

  1. C:\Program Files\Microsoft SQL Server\MSSQLXX로 이동합니다.<InstanceName>\MSSQL\Binn.

  2. SQLIOSIM.EXE 애플리케이션을 시작합니다. 일부 기본 설정이 포함된 파일 및 구성 창을 볼 수 있습니다. 구성 요구 사항에 맞게 이러한 설정을 수정할 수 있습니다.

    파일 구성을 보여 주는 스크린샷

  3. 목록에서 첫 번째 mdx 파일 C:\temp\sqliosim\sqliosim.mdx 를 강조 표시합니다. 이 파일은 데이터 파일과 동일합니다.

  4. 위치, 크기, 최대 크기 또는 증분을 변경하여 파일 설정을 수정합니다. 데이터 파일을 시뮬레이션할 때 로그 파일을 선택하지 않은 상태로 유지합니다. 그런 다음 적용 단추를 선택합니다.

    데이터 파일 구성을 보여 주는 스크린샷

    이 예제에서는 파일의 위치가 D:\temp\sqliosim\sqliosim.mdx로 변경되고, 크기가 2048MB 로 설정되고, 최대 크기가 4096MB 로 설정되고, 증분 크기가 64MB 로 설정된 것을 보여 줍니다.

  5. ldx 접미사를 사용하여 두 번째 파일을 수정합니다. 이 파일은 트랜잭션 로그 파일에 해당하는 파일을 나타냅니다. 로그 파일 확인란을 사용하도록 설정해야 합니다. 완료되면 적용 을 선택합니다.

    로그 파일 구성의 스크린샷

  6. 테이블 형식 표 안의 화면 가운데에서 새 파일 옵션을 선택하여 목록에 더 많은 파일을 추가할 수 있습니다. 새 파일을 선택하면 파일 위치를 입력하고 나머지 설정을 선택할 수 있습니다. 적용을 선택하는 것을 잊지 마세요. 다음은 예입니다.

    새 테스트 파일을 추가하는 스크린샷

  7. 구성에 만족하면 확인 단추를 선택합니다.

  8. 시뮬레이터>시작을 선택하여 SQL IO 시뮬레이션을 실행합니다. 또는 F12 또는 그 안에 녹색 원이 있는 맨 왼쪽 단추를 선택할 수 있습니다.

    실행 중인 SQLIOSim을 보여 주는 스크린샷

  9. 시뮬레이션이 완료되고 출력을 검사할 때까지 기다립니다.

예제 2: 명령줄 도구 및 구성 파일 사용

  1. File2 섹션에 대한 File1 주석을 제거하고 값을 새 SQLIOSim 파일로 수정하여 FileNamesqliosim.default.cfg.ini파일을 수정합니다. 예를 들면

    [File1]
    FileName=D:\sqliosim\sqliosim.mdx
    InitialSize=100
    MaxSize=200
    Increment=10
    Shrinkable=TRUE
    LogFile=FALSE
    Sparse=FALSE
    
    [File2]
    FileName=L:\sqliosim\sqliosim.ldx
    InitialSize=50
    MaxSize=50
    Increment=0
    Shrinkable=FALSE
    LogFile=TRUE
    Sparse=FALSE
    
  2. 구성 파일C:\temp\sqliosimconfig\sqliosim.default.cfg.ini 사용하여 SQLIOSIM.COM 실행합니다.

    SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosimconfig\sqliosim.log.xml
    

예제 3: 스위치와 함께 명령줄 도구 사용

스위치를 사용하여 여러 디스크 볼륨을 동시에 테스트할 -dir 수 있습니다. 다음 예제에서는 500MB 파일을 만들고 300초(5분) 동안 테스트를 실행합니다.

SQLIOSIM.COM -cfg C:\temp\sqliosimconfig\sqliosim.default.cfg.ini -log C:\temp\sqliosim\sqliosim.log.xml -dir "D:\sqliosim" -dir "F:\sqliosim\testfolder" -size 500 -d 300

예제 4: 여러 드라이브에 대해 명령줄 도구 사용

다음 예제에서는 32GB 파일을 만들고 sqliosim.hwcache.cfg.ini 구성 파일을 사용하여 600초(10분) 동안 테스트를 실행합니다.

SQLIOSIM.COM -cfg "D:\Temp\SQLIOSIM\SQLIOSIM_Configs\sqliosim.hwcache.cfg.ini" -d 600 -dir D:\temp\sqliosim -log D:\temp\sqliosim\simlog.xml -size 32768

명령줄 매개 변수 SQLIOSim.com

SQLIOSIM.COM 기본 동작을 제어하기 위해 제한된 수의 명령줄 매개 변수를 허용합니다. SQLIOSim 유틸리티에 대한 구성 파일은 고급 동작 제어를 제공합니다. 명령줄 매개 변수 및 구성 파일 옵션이 겹치면 명령줄 매개 변수가 우선합니다.

매개 변수 Comment
-cfg파일 Sqliosim.cfg.ini 기본 구성 파일을 재정의합니다. 유틸리티에서 파일을 찾을 수 없는 경우 SQLIOSim 유틸리티는 오류를 반환합니다.
-save파일 결과 구성을 구성 파일에 저장합니다. 이 옵션을 사용하여 초기 구성 파일을 만들 수 있습니다.
-log파일 오류 로그 파일 이름 및 오류 로그 파일 경로를 지정합니다. 기본 파일 이름은 Sqliosim.log.xml.
-dirDir 데이터(.mdf) 파일 및 로그(.ldf) 파일을 만들 위치를 설정합니다. 이 명령을 여러 번 실행할 수 있습니다. 대부분의 경우 이 위치는 드라이브 루트 또는 볼륨 탑재 지점입니다. 이 위치는 긴 경로 또는 UNC 경로일 수 있습니다.
-d 기본 실행 기간을 설정합니다. 이 값은 준비 단계 및 확인 단계를 제외합니다.
-sizeMb 데이터 파일의 초기 크기를 MB(메가바이트)로 설정합니다. 파일은 초기 크기의 최대 2배까지 커질 수 있습니다. 로그 파일의 크기는 데이터 파일의 절반 크기로 계산됩니다. 그러나 로그 파일은 50MB를 초과할 수 없습니다.

SQLIOSim 구성 파일

SQLIOSim과 함께 구성 파일을 사용하여 I/O 시뮬레이션에 대한 모든 설정을 미리 선택할 수 있습니다. 이 구성 파일은 SQLIOSim의 실행을 자동화하는 데 도움이 될 수 있습니다.

다양한 테스트에 대한 샘플 구성 파일은 SQL Server 지원 팀의 GitHub 리포지토리에서 다운로드할 수 있습니다.

구성 파일을 사용할 필요가 없습니다. 구성 파일을 사용하지 않는 경우 모든 매개 변수는 데이터 파일 위치 및 로그 파일 위치를 제외한 기본값을 사용합니다. 데이터 파일 위치와 로그 파일 위치를 지정하려면 다음 방법 중 하나를 사용해야 합니다.

  • SQLIOSIM.COM 파일에서 명령줄 매개 변수를 사용합니다.
  • SQLIOSim.exe 파일을 실행한 후 파일 및 구성 대화 상자를 사용합니다.
  • 구성 파일의 파일<N> 섹션을 사용합니다.

샘플 구성 파일

자동화된 SQLIOSim 실행에 사용하려는 경우 5개의 샘플 구성 파일을 사용할 수 있습니다.

샘플 파일 설명 기본 구성 파일과 다른 매개 변수
sqliosim.default.cfg.ini
sqliosim.hwcache.cfg.ini - 읽기 최소화

- 파일이 메모리에 완전히 유지되도록 작게 만들어집니다.

- 순차적 읽기 없음
AuditUser 섹션 및 ReadAheadUser 섹션의 경우:

CacheHitRatio=10000
UserCount=0
sqliosim.nothrottle.cfg.ini - I/O 제한 제거

- I/O 볼륨을 늘리기 위해 대기하는 시간 최소화
TargetIODuration=1000000
AuditDelay=10
RADelay=10
sqliosim.seqwrites.cfg.ini - 읽기 최소화

- 파일이 메모리에 완전히 유지되도록 작게 만들어집니다.

- 파일을 축소할 수 없습니다.

- 순차적 읽기 없음

- 임의 액세스 없음

- 지연 없이 큰 청크로 대량 업데이트
Shrinkable=FALSE

AuditUser, ReadAheadUserRandomUser 섹션의 경우:

CacheHitRatio=10000
ForceReadAhead=FALSE
BuffersBUMin=600
BuffersBUMax=1000
BUDelay=1
UserCount=0
sqliosim.sparse.cfg.ini - 32MB 메모리만 사용

- 많은 미해결 I/O 요청을 사용할 수 있을 만큼 대상 I/O 기간을 크게 만듭니다.

- 모든 8KB 페이지에 대해 별도의 I/O 요청을 실행하도록 분산/수집 API 사용 안 함

- 축소할 수 없는 1GB 파일 만들기

- 파일에 축소할 수 없는 1GB 보조 스파스 스트림 만들기
MaxMemoryMB=32
TestCycles=3
TestCycleDuration=600
TargetIODuration=10000
UseScatterGather=FALSE

[File1]
FileName=sqliosim.mdx
InitialSize=1000 MaxSize=1000
Increment=10
Shrinkable=FALSE
LogFile=FALSE
Sparse=FALSE

[File2]
FileName=sqliosim.ldx
InitialSize=50
MaxSize=50
Increment=0
Shrinkable=FALSE
LogFile=TRUE
Sparse=FALSE

[File3]
FileName=sqliosim.mdx:replica
InitialSize=1000
MaxSize=1000
Increment=10
Shrinkable=FALSE
LogFile=FALSE
Sparse=TRUE

매개 변수 값에 대한 주의 사항

  • 매개 변수의 이름이 매개 변수가 비율 또는 백분율임을 나타내는 경우 매개 변수의 값은 백분율 또는 비율을 0.01로 나눈 값으로 표현됩니다. 예를 들어 매개 변수의 값은 CacheHitRatio 입니다 10 percent. 10을 0.01로 나눈 값이 과 같기 때문에 이 값은 로 1000 표현됩니다 1000. 백분율 매개 변수의 최대값은 입니다 10000.
  • 매개 변수 형식이 숫자이고 숫자가 아닌 값을 매개 변수에 할당하는 경우 SQLIOSim 유틸리티는 매개 변수를 로 0설정합니다.
  • 매개 변수 형식이 이Boolean면 매개 변수에 할당할 수 있는 유효한 값은 및 false입니다true. 또한 값은 대/소문자를 구분합니다. SQLIOSim 유틸리티는 잘못된 값을 무시합니다.
  • 매개 변수 쌍이 최소값과 최대값을 나타내는 경우 최소값은 최대값을 초과해서는 안됩니다. 예를 들어 매개 변수 값은 MinIOChainLength 매개 변수 값 MaxIOChainLength 보다 크지 않아야 합니다.
  • 매개 변수가 여러 페이지를 나타내는 경우 SQLIOSim 유틸리티는 SQLIOSim 유틸리티가 처리하는 파일에 대해 매개 변수에 할당한 값을 확인합니다. SQLIOSim 유틸리티는 이 검사 수행하여 페이지 수가 파일 크기를 초과하지 않도록 합니다.

구성 파일 섹션

구성 파일에는 다음과 같은 몇 가지 섹션이 있습니다.

이러한 각 섹션은 다음 섹션에 설명되어 있습니다.

CONFIG 섹션

SQLIOSim 유틸리티는 SQLIOSim 구성 파일의 CONFIG 섹션에서 지정한 값을 사용하여 전역 테스트 동작을 설정합니다.

매개 변수 기본값 설명 설명
ErrorFile sqliosim.log.xml XML 형식 로그 파일의 이름
CPUCount 컴퓨터의 CPU 수 만들 논리 CPU 수 최대 CPU는 64개입니다.
Affinity 0 논리 CPU에 적용할 물리적 CPU 선호도 마스크 선호도 마스크는 활성 CPU 마스크 내에 있어야 합니다. 값 0 은 사용 가능한 모든 CPU가 사용됨을 의미합니다.
MaxMemoryMB SQLIOSim 유틸리티가 시작될 때 사용 가능한 실제 메모리 버퍼 풀의 크기(MB) 이 값은 컴퓨터의 총 실제 메모리 양을 초과할 수 없습니다.
StopOnError true 첫 번째 오류가 발생할 때 시뮬레이션을 중지합니다.
TestCycles 1 수행할 전체 테스트 주기 수 값은 0 테스트 주기의 무한 수를 나타냅니다.
TestCycleDuration 300 테스트 주기의 기간(초)이며, 주기가 끝날 때 감사 통과를 제외합니다.
CacheHitRatio 1000 SQLIOSim 유틸리티가 디스크에서 읽을 때 시뮬레이션된 캐시 적중률
MaxOutstandingIO 0 프로세스 전체에서 허용되는 미해결 I/O 작업의 최대 수 값은 140,000을 초과할 수 없습니다. 값 0 은 최대 140,000개의 I/O 작업이 허용됨을 의미합니다. 이는 유틸리티의 제한입니다.
TargetIODuration 100 제한의 대상이 되는 I/O 작업 기간(밀리초)입니다. 평균 I/O 기간이 대상 I/O 기간을 초과하는 경우 SQLIOSim 유틸리티는 미해결 I/O 작업 수를 제한하여 부하를 줄이고 I/O 완료 시간을 개선합니다.
AllowIOBursts true 많은 I/O 요청을 게시하도록 제한을 해제할 수 있습니다. I/O 버스트는 테스트 주기가 끝날 때 초기 업데이트, 초기 검사점 및 최종 검사점 통과 중에 활성화됩니다. 매개 변수는 MaxOutstandingIO 여전히 적용됩니다. 긴 I/O 경고를 기대할 수 있습니다.
NoBuffering true FILE_FLAG_NO_BUFFERING 옵션 사용 SQL Server 를 사용하여 FILE_FLAG_NO_BUFFERING == true데이터베이스 파일을 엽니다. Analysis Services와 같은 일부 유틸리티 및 서비스는 를 사용합니다 FILE_FLAG_NO_BUFFERING == false. 서버를 완전히 테스트하려면 각 설정에 대해 하나의 테스트를 실행합니다.
WriteThrough true FILE_FLAG_WRITE_THROUGH 옵션 사용 SQL Server 를 사용하여 FILE_FLAG_WRITE_THROUGH == true데이터베이스 파일을 엽니다. 그러나 일부 유틸리티 및 서비스는 를 사용하여 FILE_FLAG_WRITE_THROUGH == false데이터베이스 파일을 엽니다. 예를 들어 SQL Server Analysis Services 를 사용하여 FILE_FLAG_WRITE_THROUGH == false데이터베이스 파일을 엽니다. 서버를 완전히 테스트하려면 각 설정에 대해 하나의 테스트를 실행합니다.
ScatterGather true 또는 WriteGather API 사용 ReadScatter 이 매개 변수를 로 trueNoBuffering 설정하면 매개 변수도 로 true설정됩니다.

SQL Server 대부분의 I/O 요청에 분산/수집 I/O를 사용합니다.
ForceReadAhead true 데이터를 이미 읽은 경우에도 미리 읽기 작업 수행 데이터 페이지가 버퍼 풀에 이미 있는 경우에도 SQLIOSim 유틸리티는 읽기 명령을 실행합니다.

Microsoft SQL Server 지원에서 실제 설정을 사용하여 I/O 문제를 노출했습니다.
DeleteFilesAtStartup true 파일이 있는 경우 시작 시 파일 삭제 파일에는 여러 데이터 스트림이 포함될 수 있습니다. 항목에 File <N> FileName 지정된 스트림만 파일에서 잘립니다. 기본 스트림을 지정하면 모든 스트림이 삭제됩니다.
DeleteFilesAtShutdown false 테스트가 완료된 후 파일 삭제 파일에는 여러 데이터 스트림이 포함될 수 있습니다. 항목에서 File <N> FileName 지정한 데이터 스트림만 파일에서 잘립니다. 기본 데이터 스트림을 지정하면 SQLIOSim 유틸리티가 모든 데이터 스트림을 삭제합니다.
StampFiles false 0을 스탬핑하여 파일 확장 파일이 크면 이 프로세스에 시간이 오래 걸릴 수 있습니다. 이 매개 변수를 false로 설정하면 SQLIOSim 유틸리티는 유효한 데이터 마커를 설정하여 파일을 확장합니다.

SQL Server 2005에서는 데이터 파일에 인스턴트 파일 초기화 기능을 사용합니다. 데이터 파일이 로그 파일이거나 인스턴트 파일 초기화를 사용하도록 설정되지 않은 경우 SQL Server 0 스탬핑을 수행합니다. SQL Server 2000 이전 버전의 SQL Server 항상 0 스탬핑을 수행합니다.

인스턴트 파일 초기화와 0 스탬핑이 모두 올바르게 작동하는지 확인하려면 테스트 중에 매개 변수 값을 StampFiles 전환해야 합니다.

파일<N> 섹션

SQLIOSim 유틸리티는 여러 파일 테스트를 허용하도록 설계되었습니다. 섹션은 File<N> 테스트의 각 파일에 대해 로 [File1][File2] 표시됩니다.

매개 변수 기본값 설명 설명
FileName 기본값 없음 파일 이름 및 경로 매개 변수는 FileName 긴 경로 또는 UNC 경로일 수 있습니다. 보조 스트림 이름 및 형식을 포함할 수도 있습니다. 예를 들어 매개 변수는 FileNamefile.mdf:stream2설정될 수 있습니다.

참고 2005년 SQL Server DBCC 작업은 스트림을 사용합니다. 스트림 테스트를 수행하는 것이 좋습니다.
InitialSize 기본값 없음 초기 크기(MB) 기존 파일이 매개 변수에 InitialSize 대해 지정된 값보다 큰 경우 SQLIOSim 유틸리티는 기존 파일을 축소하지 않습니다. 기존 파일이 더 작은 경우 SQLIOSim 유틸리티는 기존 파일을 확장합니다.
MaxSize 기본값 없음 최대 크기(MB) 파일은 매개 변수에 대해 지정 MaxSize 한 값보다 커질 수 없습니다.
Increment 0 파일이 증가하거나 축소되는 증분 크기(MB)입니다. 자세한 내용은 이 문서의 섹션을 ShrinkUser 참조하세요. SQLIOSim 유틸리티는 시작 시 매개 변수를 Increment 조정하여 상황이 설정 Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles되도록 합니다.
Increment0이 인 경우 SQLIOSim 유틸리티는 파일을 축소할 수 없는 것으로 설정합니다.
Shrinkable false 파일을 축소하거나 확장할 수 있는지 여부를 나타냅니다. 매개 변수0Increment 로 설정하면 파일을 축소할 수 없도록 설정합니다. 이 경우 매개 변수false를 로 Shrinkable 설정해야 합니다. 매개 변수를 Increment 이외의 0값으로 설정하면 파일을 축소할 수 있도록 설정합니다. 이 경우 매개 변수true를 로 Shrinkable 설정해야 합니다.
Sparse false 스파스 특성을 파일에 설정해야 하는지 여부를 나타냅니다. 기존 파일의 경우 매개 변수를 false로 설정할 Sparse 때 SQLIOSim 유틸리티는 Sparse 특성을 지우지 않습니다.

SQL Server 2005에서는 스파스 파일을 사용하여 스냅샷 데이터베이스 및 보조 DBCC 스트림을 지원합니다.

스파스 파일과 스트림을 모두 사용하도록 설정한 다음 테스트 통과를 수행하는 것이 좋습니다.

참고 파일 설정에 대해 를 설정한 Sparse = true 경우 섹션에서 를 지정 NoBuffering = falseconfig 하지 마세요. 이러한 두 가지 충돌 조합을 사용하는 경우 도구에서 다음과 유사한 오류가 발생할 수 있습니다.

오류:-=====오류: 0x80070467
오류 텍스트: 하드 디스크에 액세스하는 동안 다시 시도한 후에도 디스크 작업이 실패했습니다.
설명: C:\SQLIOSim.mdx 페이지에서 버퍼 유효성 검사 실패: 28097
LogFile false 파일에 사용자 또는 트랜잭션 로그 데이터가 포함되어 있는지 여부를 나타냅니다. 하나 이상의 로그 파일을 정의해야 합니다.

RandomUser 섹션

SQLIOSim 유틸리티는 섹션에서 지정 RandomUser 한 값을 사용하여 OLTP(온라인 트랜잭션 처리) I/O 패턴과 같이 임의 쿼리 작업을 수행하는 SQL Server 작업자를 시뮬레이션합니다.

매개 변수 기본값 설명 설명
UserCount -1 동시에 실행되는 임의 액세스 스레드 수 값은 값을 CPUCount*1023-100초과할 수 없습니다.
또한 모든 사용자의 총 수는 이 값을 초과할 수 없습니다. 값이 0이면 임의 액세스 사용자를 만들 수 없습니다. 값은 값min(CPUCount*2, 8)-1 자동 구성을 사용해야 임을 의미합니다.
참고 SQL Server 시스템에는 수천 개의 세션이 있을 수 있습니다. 대부분의 세션에는 활성 요청이 없습니다. count(*) 이 테스트 매개 변수 값을 설정하기 위한 기준으로 DMV(동적 관리 뷰)에 대한 쿼리 sys.dm_exec_requests 에서 함수를 사용합니다.

CPUCount 여기서는 섹션의 CPUCount 매개 변수 CONFIG 값을 참조합니다.

값은 min(CPUCount*2, 8) 와 사이의 CPUCount*2 값이 더 작게 생성됩니다 8.
JumpToNewRegionPercentage 500 파일의 새 영역으로 이동할 수 있는 가능성 영역의 시작이 임의로 선택됩니다. 영역의 크기는 매개 변수 값 MinIOChainLength 과 매개 변수 값 사이의 임의 값입니다 MaxIOChainLength .
MinIOChainLength 1 페이지의 최소 지역 크기
MaxIOChainLength 100 페이지의 최대 지역 크기 SQL Server 2005 Enterprise Edition 및 SQL Server 2000 Enterprise Edition 최대 1,024 페이지를 읽을 수 있습니다.

최소값은 입니다 0. 최대값은 시스템 메모리에 의해 제한됩니다.

일반적으로 임의의 사용자 활동으로 인해 작은 검사 작업이 발생합니다. 섹션에 ReadAheadUser 지정된 값을 사용하여 더 큰 검사 작업을 시뮬레이션합니다.
RandomUserReadWriteRatio 9000 업데이트할 페이지의 백분율 임의 길이 체인은 지역에서 선택되며 읽을 수 있습니다. 이 매개 변수는 업데이트하고 디스크에 쓸 페이지의 백분율을 정의합니다.
MinLogPerBuffer 64 최소 로그 레코드 크기(바이트) 값은 디스크 내 섹터 크기의 배수이거나 디스크 내 섹터 크기에 균등하게 맞는 크기여야 합니다.
MaxLogPerBuffer 8192 최대 로그 레코드 크기(바이트) 이 값은 64,000을 초과할 수 없습니다. 값은 디스크 내 섹터 크기의 배수여야 합니다.
RollbackChance 100 메모리 내 작업이 발생하여 롤백 작업이 발생할 가능성이 있습니다. 이 롤백 작업이 발생하면 SQL Server 로그 파일에 쓰지 않습니다.
SleepAfter 5 각 주기 후의 절전 모드 시간(밀리초)

AuditUser 섹션

SQLIOSim 유틸리티는 섹션에 AuditUser 지정한 값을 사용하여 DBCC 활동을 시뮬레이션하여 페이지에 대한 정보를 읽고 감사합니다. 매개 변수 값 UserCount 이 로 설정된 0경우에도 유효성 검사가 수행됩니다.

매개 변수 기본값 설명 설명
UserCount 2 감사 스레드 수 값은 다음 값을 CPUCount*1023-100초과할 수 없습니다.
또한 모든 사용자의 총 수는 이 값을 초과할 수 없습니다. 값 0 은 임의 액세스 사용자를 만들 수 없음을 의미합니다. 값은 값min(CPUCount*2, 8)-1 자동 구성을 사용해야 임을 의미합니다.
참고 SQL Server 시스템에는 수천 개의 세션이 있을 수 있습니다. 대부분의 세션에는 활성 요청이 없습니다. count(*) 이 테스트 매개 변수 값을 설정하기 위한 기준으로 DMV에 대한 sys.dm_exec_requests 쿼리에서 함수를 사용합니다.

CPUCount 여기서는 섹션의 CPUCount 매개 변수 CONFIG 값을 참조합니다.

값은 min(CPUCount*2, 8) 와 사이의 CPUCount*2 값이 더 작게 생성됩니다 8.
BuffersValidated 64
DelayAfterCycles 2 BuffersValidated 주기 수가 완료된 후 AuditDelay 매개 변수 적용
AuditDelay 200 DelayAfterCycles 작업 후 대기할 시간(밀리초)

ReadAheadUser 섹션

SQLIOSim 유틸리티는 섹션에 ReadAheadUser 지정된 값을 사용하여 미리 읽기 작업을 SQL Server 시뮬레이션합니다. SQL Server 미리 읽기 작업을 활용하여 비동기 I/O 기능을 최대화하고 쿼리 지연을 제한합니다.

매개 변수 기본값 설명 설명
UserCount 2 미리 읽기 스레드 수 값은 다음 값을 CPUCount*1023-100초과할 수 없습니다.
또한 모든 사용자의 총 수는 이 값을 초과할 수 없습니다. 값 0 은 임의 액세스 사용자를 만들 수 없음을 의미합니다. 값은 -1min(CPUCount*2, 8)의 자동 구성을 사용해야 한다는 의미입니다.
참고 SQL Server 시스템에는 수천 개의 세션이 있을 수 있습니다. 대부분의 세션에는 활성 요청이 없습니다. count(*) 이 테스트 매개 변수 값을 설정하기 위한 기준으로 DMV에 대한 sys.dm_exec_requests 쿼리에서 함수를 사용합니다.

CPUCount 여기서는 CONFIG 섹션의 CPUCount 매개 변수 값을 참조합니다.

값은 min(CPUCount*2, 8) 와 사이의 CPUCount*2 값이 더 작게 생성됩니다 8.
BuffersRAMin 32 주기당 읽을 최소 페이지 수 최소값은 입니다 0. 최대값은 시스템 메모리에 의해 제한됩니다.
BuffersRAMax 64 주기당 읽을 최대 페이지 수 SQL Server Enterprise 버전은 단일 요청으로 최대 1,024페이지를 읽을 수 있습니다. CPU, 메모리 및 디스크 리소스가 많은 컴퓨터에 SQL Server 설치하는 경우 파일 크기와 미리 읽기 크기를 늘리는 것이 좋습니다.
DelayAfterCycles 2 RADelay 지정된 주기 수가 완료된 후 매개 변수 적용
RADelay 200 DelayAfterCycles 작업 후 대기할 시간(밀리초)

BulkUpdateUser 섹션

SQLIOSim 유틸리티는 섹션에서 지정 BulkUpdateUser 한 값을 사용하여 작업 및 작업과 BULK INSERT 같은 SELECT...INTO 대량 작업을 시뮬레이션합니다.

매개 변수 기본값 설명 설명
UserCount -1 스레드 수 BULK UPDATE 값은 다음 값을 초과할 수 없습니다. CPUCount*1023-100
-1 은 값 min(CPUCount*2, 8)의 자동 구성을 사용해야 임을 의미합니다.
참고 SQL Server 시스템에는 수천 개의 세션이 있을 수 있습니다. 대부분의 세션에는 활성 요청이 없습니다. count(*) 이 테스트 매개 변수 값을 설정하기 위한 기준으로 DMV에 대한 sys.dm_exec_requests 쿼리에서 함수를 사용합니다.

CPUCount 여기서는 섹션의 CPUCount 매개 변수 CONFIG 값을 참조합니다.

값은 min(CPUCount*2, 8) 와 사이의 CPUCount*2 값이 더 작게 생성됩니다 8.
BuffersBUMin 64 주기당 업데이트할 최소 페이지 수
BuffersBUMax 128 주기당 업데이트할 최대 페이지 수 최소값은 입니다 0. 최대값은 시스템 메모리에 의해 제한됩니다.
DelayAfterCycles 2 BUDelay 지정된 주기 수가 완료된 후 매개 변수 적용
BUDelay 10 DelayAfterCycles 작업 후 대기할 시간(밀리초)

ShrinkUser 섹션

SQLIOSim 유틸리티는 섹션에서 지정 ShrinkUser 한 값을 사용하여 DBCC 축소 작업을 시뮬레이션합니다. SQLIOSim 유틸리티는 섹션을 ShrinkUser 사용하여 파일을 확장할 수도 있습니다.

매개 변수 기본값 설명
MinShrinkInterval 120 축소 작업 사이의 최소 간격(초)
MaxShrinkInterval 600 축소 작업 사이의 최대 간격(초)
MinExtends 1 SQLIOSim 유틸리티가 파일을 늘리거나 축소할 최소 증분 수
MaxExtends 20 SQLIOSim 유틸리티가 파일을 늘리거나 축소할 최대 증분 수

구성 .ini 파일 주석

구성.ini파일의 줄 시작 부분에 있는 세미콜론 문자( ;) )를 사용하면 줄이 단일 주석으로 처리됩니다.

파일 만들기

SQLIOSim 유틸리티는 별도의 데이터 파일과 로그 파일을 만들어 SQL Server 데이터 파일 및 로그 파일에서 생성하는 I/O 패턴을 시뮬레이션합니다. SQLIOSim 유틸리티는 SQL Server 엔진을 사용하여 스트레스 작업을 수행하지 않습니다. 따라서 SQL SERVER 설치하기 전에 SQLIOSim 유틸리티를 사용하여 컴퓨터를 테스트할 수 있습니다.

SQLIOSim 유틸리티를 실행하는 경우 SQL Server 데이터베이스 파일에 사용하는 것과 동일한 파일 위치를 지정해야 합니다. 이렇게 하면 유틸리티는 SQL Server 데이터베이스와 동일한 I/O 경로를 시뮬레이션합니다.

기존 테스트 파일에 대한 압축 또는 암호화 특성을 사용하도록 설정할 수 있습니다. 테스트 파일을 만들 기존 디렉터리에 대해 이러한 특성을 사용하도록 설정할 수도 있습니다. 이러한 특성을 사용하도록 설정하는 해당 옵션은 파일 또는 디렉터리에 대한 속성 대화 상자에 있습니다.

기본적으로 SQLIOSim 유틸리티는 .mdx.ldx 파일 이름 확장명이 있는 테스트 파일을 만듭니다. 따라서 이러한 파일은 기존 데이터 및 로그 파일을 덮어쓰지 않습니다.

경고

테스트를 위해 실제 SQL Server 데이터베이스 파일을 지정하지 마세요. SQLIOSim 유틸리티는 임의 테스트 패턴으로 데이터를 덮어쓰고 실제 SQL Server 데이터가 손실됩니다.

SQLIOSim 오류 로그 및 처리

SQLIOSim 유틸리티는 다음 위치 중 하나에 오류 로그 파일을 만듭니다.

  • 로그 시작 매개 변수에 지정한 위치
  • Sqliosim.cfg.ini 파일의 ErrorFile= 줄에 지정한 위치

SQLIOSim.log.xml 오류 로그에는 실행에 대한 세부 정보가 포함됩니다. 이러한 세부 정보에는 오류 정보가 포함됩니다. 로그를 주의 깊게 검토하여 오류 정보 및 경고 정보를 확인합니다.

참고

SQLIOSim 유틸리티에서 오류가 발생하는 경우 하드웨어 제조업체에 문제의 근본 원인을 파악하도록 요청하는 것이 좋습니다. 디바이스 드라이버, 파일 시스템 필터 드라이버(예: 바이러스 백신) 또는 OS로 인해 문제가 발생할 수도 있습니다.

여러 복사본

SQLIOSim 유틸리티는 다중 파일 수준 테스트 및 다중 사용자 수준 테스트를 수용합니다. SQLIOSim 유틸리티에는 여러 호출이 필요하지 않습니다. 다음 조건이 true인 경우 SQLIOSim 유틸리티의 여러 복사본을 실행할 수 있습니다.

  • 모든 복사본은 유틸리티의 instance당 고유한 테스트 파일을 참조합니다.
  • 각 instance 매개 변수는 MaxMemoryMB 각 instance 충분한 겹치지 않는 메모리 영역을 제공합니다.

각 instance 대한 매개 변수의 MaxMemoryMB 합계는 총 실제 메모리보다 작거나 같아야 합니다. 검사점 시뮬레이션과 같은 일부 테스트 단계는 메모리 집약적일 수 있으며 여러 복사본을 실행할 때 메모리 부족 조건을 만들 수 있습니다. 메모리 부족 오류가 발생하는 경우 실행 중인 유틸리티 복사본 수를 줄일 수 있습니다.

참조