Używanie narzędzia SQLIOSim do symulowania aktywności programu SQL Server w podsystemie dysku

Oryginalna wersja produktu: SQL Server
Oryginalny numer KB: 231619

Podsumowanie

Narzędzie SQLIOSim uruchamia testy obciążeniowe niezawodności i integralności w podsystemach dysków, symulując wzorce we/wy Microsoft SQL Server. Te testy obejmują działania takie jak odczyt, zapis, test kontrolny, tworzenie kopii zapasowych, sortowanie i odczyt z wyprzedzeniem. Użyj SQLIOSim, aby zweryfikować podsystem I/O przed wdrożeniem SQL Server na nowym sprzęcie. Narzędzie działa niezależnie od aparatu SQL Server i nie wymaga, aby SQL Server był uruchomiony.

Wprowadzenie do narzędzia SQLIOSim

SQLIOSim symuluje wzorce odczytu i zapisu (odczyty stron, punkt kontrolny, kopia zapasowa, sortowanie, odczyt z wyprzedzeniem) systemu SQL Server, aby pomóc zidentyfikować potencjalne problemy I/O. Głównym celem testów symulacji wejścia/wyjścia jest zweryfikowanie niezawodności bazowego podsystemu wejścia/wyjścia przed jego użyciem przez SQL Server. Aby uzyskać więcej informacji na temat podstaw I/O SQL Server, zobacz SQL Server I/O Fundamentals.

SQLIOSim nie współpracuje z SQL Server i nie wymaga uruchomionego SQL Servera. W większości przypadków uruchom SQLIOSim, kiedy SQL Server nie jest uruchomiony, aby uniknąć konkurencji dla przepustowości I/O między tymi dwiema aplikacjami.

Ostrzeżenie

Nie wskazuj ani nie używaj rzeczywistych plików baz danych SQL Server w teście SQLIOSim, ponieważ narzędzie używa losowych wzorców testowych do nadpisywania plików.

Funkcja SQLIOSim nie gwarantuje bezpieczeństwa ani integralności danych. Narzędzie zapewnia podstawowe testowanie środowiska systemowego i może uwidaczniać potencjalne problemy z integralnością danych.

Aby uzyskać więcej informacji na temat rejestrowania i przechowywania danych, zobacz Opis algorytmów rejestrowania i przechowywania danych, które rozszerzają niezawodność danych w programie SQL Server.

Jeśli musisz uruchomić testy porównawcze wydajności i określić pojemność przepływności we/wy, zamiast tego użyj narzędzia Diskspd .

Wskazówka

Uruchom narzędzie SQLIOSim w każdej nowej konfiguracji magazynu przed wdrożeniem produkcyjnym. Ten test pomaga upewnić się, że system przestrzega kolejności zapisu i opróżniania semantyki, nawet jeśli istnieją warstwy buforowania. Takie warstwy obejmują pamięć podręczną kontrolera, buforowanie oprogramowania układowego i optymalizacje sieci SAN.

Lokalizacja SQLIOSim

SqlIOSim był wcześniej dostępny jako oddzielny pakiet pobierania. Począwszy od Microsoft SQL Server 2008 r., program SQLIOSim jest uwzględniony w instalacji produktu SQL Server. Podczas instalowania SQL Server narzędzie SQLIOSim znajduje się w folderze Binn instalacji SQL Server. Użyj tej zaktualizowanej wersji narzędzia, aby symulować aktywność we/wy w podsystemie dysków.

Pakiet SQLIOSim zawiera trzy pliki. Folder Binn zawiera dwa pliki wykonywalne, SQLIOSim.com i SQLIOSim.exe. Oba pliki wykonywalne zapewniają identyczne możliwości symulacji we/wy.

  • SQLIOSim.com to narzędzie wiersza polecenia. Można ją skonfigurować tak, aby była uruchamiana bez interakcji użytkownika przy użyciu parametrów wiersza polecenia, pliku konfiguracji lub kombinacji obu metod.
  • SQLIOSim.exe to aplikacja graficzna (GUI), która nie akceptuje parametrów wiersza polecenia. Jednak SQLIOSim.exe ładuje domyślne dane konfiguracji z plików konfiguracji.
  • Korzystaj z plików konfiguracyjnych, aby zautomatyzować symulację I/O przy użyciu narzędzia SQLIOSim. Aby uzyskać więcej informacji, zobacz sekcję Plik konfiguracji SQLIOSim.

Używanie SQLIOSim na komputerze bez zainstalowanego SQL Servera

Uruchom narzędzie SQLIOSim na potrzeby rozszerzonego testu na komputerze przed zainstalowaniem SQL Server. Służy do testowania podsystemu we/wy, w którym planujesz umieścić dane i pliki dziennika oraz zweryfikować jego niezawodność. W tym celu skopiuj pliki SQLIOSim z komputera, na którym zainstalowano SQL Server, i uruchom testy przed zainstalowaniem SQL Server. Skopiuj SQLIOSim.com, SQLIOSim.exe i opcjonalnie co najmniej jeden plik konfiguracji, jeśli planujesz używać wstępnie skonfigurowanych ustawień. Następnie uruchom symulację testu na tym komputerze.

Jak używać narzędzia SQLIOSim

Nie potrzebujesz uruchomienia usługi SQL Server podczas korzystania z SQLIOSim. W rzeczywistości nie uruchamiaj SQL Server, gdy funkcja SQLIOSim jest uruchomiona, ponieważ aplikacje mogą konkurować o zasoby we/wy.

Ostrzeżenie

Aby uniknąć utraty rzeczywistych SQL Server danych, nie należy określać rzeczywistych plików bazy danych SQL Server do testowania. Narzędzie SQLIOSim zastępuje dane przy użyciu wzorców testów losowych.

W poniższych przykładach pokazano, jak uruchomić SQLIOSim, korzystając z graficznego interfejsu użytkownika oraz wiersza polecenia.

Przykład 1. Używanie graficznego interfejsu użytkownika

  1. Przejdź do katalogu C:\Program Files\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.

  2. Uruchom aplikację SQLIOSIM.EXE .

  3. W oknie Pliki i konfiguracja poszukaj ustawień domyślnych, które można zmodyfikować zgodnie z potrzebami konfiguracji.

    Zrzut ekranu przedstawiający konfigurację pliku.

  4. Wybierz pierwszy plik mdx z listy C:\temp\sqliosim\sqliosim\sqliosim.mdx. Ten plik jest odpowiednikiem pliku danych.

  5. Zmień ustawienia pliku, takie jak lokalizacja plików, rozmiar, maksymalny rozmiar lub przyrost. Pozostaw opcję Plik dziennika niezaznaczoną, ponieważ chcesz symulować plik danych. Następnie wybierz pozycję Zastosuj.

    Zrzut ekranu przedstawiający konfigurację pliku danych.

    W przykładzie pokazano, że lokalizacja pliku została zmieniona na D:\temp\sqliosim\sqliosim.mdx, jego rozmiar jest ustawiony na 2048 MB, jego maksymalny rozmiar jest ustawiony na 4096 MB, a jego rozmiar przyrostowy wynosi 64 MB.

  6. Zmień drugi plik, który ma sufiks ldx . Ten plik reprezentuje odpowiednik pliku dziennika transakcji. Upewnij się, że opcja Plik dziennika pozostaje zaznaczona. Po zakończeniu wybierz pozycję Zastosuj.

    Zrzut ekranu przedstawiający konfigurację pliku dziennika.

  7. Dodaj więcej plików do listy, wybierając opcję Nowy plik w środku ekranu wewnątrz siatki tabelarycznej. Wpisz lokalizację pliku, a następnie ustaw pozostałe opcje. Po zakończeniu wybierz pozycję Zastosuj. Oto przykład.

    Zrzut ekranu przedstawiający dodawanie nowego pliku testowego.

  8. Jeśli konfiguracja jest satysfakcjonująca, wybierz przycisk OK.

  9. Aby uruchomić symulację we/wy SQL, wybierz Symulator>Uruchom. Alternatywnie wybierz klawisz F12 lub przycisk najbardziej po lewej stronie, który zawiera zielony okrąg.

    Zrzut ekranu przedstawiający uruchomiony program SQLIOSim.

  10. Poczekaj na zakończenie symulacji, a następnie sprawdź dane wyjściowe.

Przykład 2. Używanie narzędzia wiersza polecenia i pliku konfiguracji

  1. Edytuj plik sqliosim.default.cfg.ini . Usuń komentarze dla sekcji File1 i File2, i zmień wartości FileName na nowe pliki SQLIOSim. Na przykład:

    [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. Uruchom SQLIOSIM.COM przy użyciu pliku konfiguracji ,C:\temp\sqliosimconfig\sqliosim.default.cfg.ini:

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

Przykład 3. Używanie narzędzia wiersza polecenia z przełącznikami

Wiele woluminów dysków można przetestować w tym samym czasie za pomocą przełącznika -dir . Poniższy przykład tworzy 500 MB plików i uruchamia test przez 300 sekund (pięć minut):

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

Przykład 4: Użycie narzędzia wiersza poleceń na wielu dyskach

Poniższy przykład tworzy 32 GB plików i uruchamia test przez 600 sekund (10 minut) przy użyciu pliku konfiguracji sqliosim.hwcache.cfg.ini :

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

Parametry wiersza polecenia SQLIOSim.com

SQLIOSIM.COM akceptuje ograniczoną liczbę parametrów wiersza polecenia w celu kontrolowania podstawowego zachowania. Plik konfiguracji narzędzia SQLIOSim zapewnia zaawansowaną kontrolę zachowania. Jeśli parametry wiersza polecenia i opcje pliku konfiguracji nakładają się na siebie, parametry wiersza polecenia mają pierwszeństwo.

Parametr opis
-cfg plik Zastąp domyślny plik konfiguracji Sqliosim.cfg.ini. Narzędzie SQLIOSim generuje błąd, jeśli nie może znaleźć pliku.
-save plik Zapisz wynikowej konfiguracji w pliku konfiguracji. Użyj tej opcji, aby utworzyć początkowy plik konfiguracji.
-log plik Określ nazwę pliku dziennika błędów i ścieżkę pliku dziennika błędów. Domyślna nazwa pliku to Sqliosim.log.xml.
-dir Dir Ustaw lokalizację, aby utworzyć plik danych (.mdf) i plik dziennika (ldf). To polecenie można uruchomić wiele razy. W większości przypadków ta lokalizacja jest katalogiem głównym dysku lub punktem instalacji woluminu. Ta lokalizacja może być długą ścieżką lub ścieżką UNC.
-d Sekund Ustaw czas trwania głównego uruchomienia. Ta wartość wyklucza fazę przygotowania i fazę weryfikacji.
-size MB Ustaw początkowy rozmiar pliku danych w megabajtach (MB). Plik może wzrosnąć do dwóch razy więcej niż rozmiar początkowy. Rozmiar pliku dziennika jest obliczany jako połowa rozmiaru pliku danych. Jednak plik dziennika nie może być większy niż 50 MB.

Plik konfiguracji SQLIOSim

Użyj pliku konfiguracyjnego razem z SQLIOSim, aby ułatwić wcześniejsze wybieranie wszystkich ustawień symulacji I/O. Ten plik konfiguracyjny umożliwia zautomatyzowanie wykonania SQLIOSim.

Możesz pobrać przykładowe pliki konfiguracji dla różnych testów z repozytorium SQL Server GitHub zespołu pomocy technicznej.

Nie musisz używać pliku konfiguracji. Jeśli nie używasz pliku konfiguracji, wszystkie parametry przyjmują wartości domyślne z wyjątkiem lokalizacji pliku danych i lokalizacji pliku dziennika. Aby określić lokalizację pliku danych i lokalizację pliku dziennika, należy użyć jednej z następujących metod:

  • Użyj parametrów wiersza polecenia w pliku SQLIOSIM.COM .
  • Po uruchomieniu pliku SQLIOSim.exe użyj okna dialogowego Pliki i konfiguracja.
  • Użyj sekcji Plik<N> pliku konfiguracji.

Przykładowe pliki konfiguracji

Użyj tych pięciu przykładowych plików konfiguracyjnych do zautomatyzowanych uruchomień SQLIOSim.

Przykładowy plik opis Parametry, które różnią się od domyślnego pliku konfiguracji
sqliosim.default.cfg.ini
sqliosim.hwcache.cfg.ini - Minimalizuje odczyty

— Przechowuje pliki małe, aby zachować je w pełni w pamięci

- Brak odczytów sekwencyjnych
W sekcji AuditUser i sekcji ReadAheadUser:

CacheHitRatio=10000
UserCount=0
sqliosim.nothrottle.cfg.ini — Usuwa ograniczanie operacji we/wy

- Minimalizuje czas oczekiwania na zwiększenie woluminu we/wy
TargetIODuration=1000000
AuditDelay=10
RADelay=10
sqliosim.seqwrites.cfg.ini - Minimalizuje odczyty

— Przechowuje pliki małe, aby zachować je w pełni w pamięci

- Sprawia, że pliki nie mogą być zmniejszane

- Brak odczytów sekwencyjnych

- Brak dostępu losowego

- Zbiorcza aktualizacja w dużych fragmentach bez opóźnień
Shrinkable=FALSE

W sekcjach AuditUser, ReadAheadUser i RandomUser:

CacheHitRatio=10000
ForceReadAhead=FALSE
BuffersBUMin=600
BuffersBUMax=1000
BUDelay=1
UserCount=0
sqliosim.sparse.cfg.ini — Używa tylko 32 MB pamięci

— Sprawia, że docelowy czas trwania we/wy jest wystarczająco duży, aby umożliwić wiele bieżących żądań we/wy

- Wyłącza interfejsy API typu scatter/gather w celu wysyłania oddzielnych żądań I/O dla każdej 8-kilobajtowej strony

- Tworzy plik o rozmiarze 1 GB, który nie można zmniejszyć

- Tworzy rzadki strumień pomocniczy 1 GB nierozszerzalny w pliku
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

Zastrzeżenia dotyczące wartości parametrów

  • Jeśli nazwa parametru wskazuje, że parametr jest współczynnikiem lub wartością procentową, wartość parametru jest wyrażona jako wartość procentowa lub stosunek podzielony przez 0,01. Na przykład wartość parametru CacheHitRatio to 10 percent. Ta wartość jest wyrażona jako 1000 , ponieważ wartość 10 podzielona przez 0,01 jest równa 1000. Maksymalna wartość parametru procentowego to 10000.
  • Jeśli typ parametru jest numeryczny i przypisujesz wartość nieliczbową do parametru, narzędzie SQLIOSim ustawia parametr na 0.
  • Jeśli typ parametru jest wartością logiczną, prawidłowe wartości, które można przypisać do parametru, to true i false. Ponadto wielkość liter ma znaczenie dla wartości. Narzędzie SQLIOSim ignoruje wszelkie nieprawidłowe wartości.
  • Jeśli para parametrów wskazuje wartość minimalną i wartość maksymalną, wartość minimalna nie może przekraczać maksymalnej wartości. Na przykład wartość parametru MinIOChainLength nie może być większa niż wartość parametru MaxIOChainLength .
  • Jeśli parametr wskazuje liczbę stron, narzędzie SQLIOSim sprawdza wartość przypisaną do parametru względem pliku, który przetwarza narzędzie SQLIOSim. Narzędzie SQLIOSim wykonuje tę kontrolę, aby upewnić się, że liczba stron nie przekracza rozmiaru pliku.

Sekcje pliku konfiguracji

Plik konfiguracji zawiera kilka sekcji:

Każda sekcja konfiguracji jest opisana w poniższej sekcji.

Sekcja konfiguracji

Narzędzie SQLIOSim używa wartości podanych w sekcji CONFIG pliku konfiguracji SQLIOSim w celu ustanowienia globalnego zachowania testowania.

Parametr Wartość domyślna opis Komentarze
ErrorFile sqliosim.log.xml Nazwa pliku dziennika typu XML
CPUCount Liczba procesorów na komputerze Liczba procesorów logicznych do utworzenia Maksymalna liczba to 64 procesory.
Affinity 0 Maska afinitetu procesora fizycznego do zastosowania dla procesorów logicznych Maska koligacji powinna znajdować się w aktywnej masce CPU. Wartość 0 oznacza, że są używane wszystkie dostępne procesory CPU.
MaxMemoryMB Dostępna pamięć fizyczna po uruchomieniu narzędzia SQLIOSim Rozmiar puli buforu w MB Wartość nie może przekroczyć całkowitej ilości pamięci fizycznej na komputerze.
StopOnError prawda Zatrzymuje symulację, gdy wystąpi pierwszy błąd
TestCycles 1 Liczba pełnych cykli testowych do wykonania Wartość 0 oznacza nieskończoną liczbę cykli testowych.
TestCycleDuration 300 Czas trwania cyklu testowego w sekundach, z wyłączeniem przebiegu inspekcji na końcu cyklu
CacheHitRatio 1000 Współczynnik trafień symulowanej pamięci podręcznej, gdy narzędzie SQLIOSim odczytuje z dysku
MaxOutstandingIO 0 Maksymalna liczba niezakończonych operacji we/wy dozwolonych dla całego procesu Wartość nie może przekraczać 140 000. Wartość 0 oznacza, że dozwolone jest maksymalnie 140 000 operacji we/wy. Jest to limit narzędzia.
TargetIODuration 100 Czas trwania operacji we/wy w milisekundach, który jest przeznaczony przez ograniczanie przepustowości Jeśli średni czas trwania we/wy przekracza docelowy czas trwania we/wy, narzędzie SQLIOSim ogranicza liczbę zaległych operacji we/wy, aby zmniejszyć obciążenie i skrócić czas ukończenia operacji we/wy.
AllowIOBursts prawda Zezwalaj na wyłączanie ograniczania przepustowości w celu wysyłania wielu żądań we/wy Wywołania wejścia/wyjścia są włączone podczas początkowej aktualizacji, początkowego punktu kontrolnego oraz końcowego punktu kontrolnego na końcu cykli testowych. Parametr MaxOutstandingIO jest nadal honorowany. Można oczekiwać ostrzeżeń dotyczących długiego czasu operacji wejścia/wyjścia.
NoBuffering prawda FILE_FLAG_NO_BUFFERING Użyj opcji Program SQL Server otwiera pliki bazy danych przy użyciu polecenia FILE_FLAG_NO_BUFFERING == true. Niektóre narzędzia i usługi, takie jak Analysis Services, używają FILE_FLAG_NO_BUFFERING == false. Aby w pełni przetestować serwer, uruchom jeden test dla każdego ustawienia.
WriteThrough prawda FILE_FLAG_WRITE_THROUGH Użyj opcji Program SQL Server otwiera pliki bazy danych przy użyciu polecenia FILE_FLAG_WRITE_THROUGH == true. Jednak niektóre narzędzia i usługi otwierają pliki bazy danych przy użyciu polecenia FILE_FLAG_WRITE_THROUGH == false. Na przykład usługi SQL Server Analysis Services otwierają pliki bazy danych przy użyciu polecenia FILE_FLAG_WRITE_THROUGH == false. Aby w pełni przetestować serwer, uruchom jeden test dla każdego ustawienia.
ScatterGather prawda Użyj interfejsów API ReadScatter lub WriteGather Jeśli ustawisz ten parametr na truewartość , NoBuffering parametr jest również ustawiony na truewartość .

SQL Server używa operacji we/wy typu scatter/gather dla większości żądań we/wy.
ForceReadAhead prawda Wykonaj operację odczytu z wyprzedzeniem, nawet jeśli dane są już odczytane. Narzędzie SQLIOSim wystawia polecenie odczytu, nawet jeśli strona danych znajduje się już w puli buforów.

Dział wsparcia Microsoft SQL Server pomyślnie użył ustawienia "true", aby uwidocznić problemy z wejściem/wyjściem.
DeleteFilesAtStartup prawda Usuwanie plików podczas uruchamiania, jeśli istnieją pliki Plik może zawierać wiele strumieni danych. Tylko strumienie określone w wpisie File <N> FileName są obcięte w pliku. Jeśli zostanie określony domyślny strumień, wszystkie strumienie zostaną usunięte.
DeleteFilesAtShutdown fałsz Usuwanie plików po zakończeniu testu Plik może zawierać wiele strumieni danych. Tylko strumienie danych określone w wpisie File <N> FileName są obcięte w pliku. Jeśli zostanie określony domyślny strumień danych, narzędzie SQLIOSim usuwa wszystkie strumienie danych.
StampFiles fałsz Rozszerzenie pliku przez dopisywanie zer Ten proces może zająć dużo czasu, jeśli plik jest duży. Jeśli ustawisz ten parametr na wartość false, narzędzie SQLIOSim rozszerza plik, ustawiając prawidłowy znacznik danych.

Program SQL Server 2005 używa funkcji natychmiastowej inicjowania plików dla plików danych. Jeśli plik danych jest plikiem dziennika lub natychmiastowa inicjalizacja plików nie jest włączona, program SQL Server wykonuje nadpisywanie zerami. Wersje programu SQL Server starsze niż SQL Server 2000 zawsze wykonują zero sygnatur.

Należy przełączyć wartość parametru StampFiles podczas testowania, aby upewnić się, że zarówno natychmiastowe inicjowanie plików, jak i oznaczanie zerowe działają prawidłowo.

Sekcja Plik<N>

Narzędzie SQLIOSim zostało zaprojektowane w celu umożliwienia wielu testów plików. Sekcja File<N> jest reprezentowana jako [File1], [File2] dla każdego pliku w teście.

Parametr Wartość domyślna opis Komentarze
FileName Brak wartości domyślnej Nazwa i ścieżka pliku Parametr FileName może być długą ścieżką lub ścieżką UNC. Może również zawierać nazwę i typ pomocniczego strumienia. Na przykład parametr FileName można ustawić na file.mdf:stream2.

UWAGA W programie SQL Server 2005 operacje DBCC używają strumieni. Zalecane są testy strumienia.
InitialSize Brak wartości domyślnej Rozmiar początkowy w MB Jeśli istniejący plik jest większy niż wartość określona dla parametru InitialSize , narzędzie SQLIOSim nie zmniejsza istniejącego pliku. Jeśli istniejący plik jest mniejszy, narzędzie SQLIOSim rozszerza istniejący plik.
MaxSize Brak wartości domyślnej Maksymalny rozmiar w MB Plik nie może rosnąć większa niż wartość określona dla parametru MaxSize .
Increment 0 Rozmiar w MB przyrostu, o jaki plik rośnie lub się zmniejsza. Aby uzyskać więcej informacji, zobacz sekcję ShrinkUser tego artykułu. Narzędzie SQLIOSim dostosowuje Increment parametr podczas uruchamiania, aby ustalić sytuację: Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles.
Jeśli wartość Increment to 0, narzędzie SQLIOSim ustawia plik jako nieskurczalny.
Shrinkable fałsz Wskazuje, czy plik można skurczyć, czy rozwinąć Jeśli ustawisz parametr Increment na 0, ustawisz plik jako nieskurczalny. W takim przypadku należy ustawić Shrinkable parametr na false. Jeśli ustawisz Increment parametr na wartość inną niż 0, ustawisz, że plik będzie można zmniejszyć. W takim przypadku należy ustawić Shrinkable parametr na true.
Sparse fałsz Wskazuje, czy Sparse atrybut powinien być ustawiony w plikach W przypadku istniejących plików narzędzie SQLIOSim nie usuwa atrybutu Sparse podczas ustawiania parametru Sparse na false.

Program SQL Server 2005 używa rozrzednych plików do obsługi baz danych migawek i pomocniczych strumieni DBCC.

Włącz zarówno plik rozrzedny, jak i strumienie, a następnie przeprowadź test.

UWAGA Jeżeli ustawisz Sparse = true dla ustawień pliku, nie należy określać NoBuffering = false w sekcji config. Jeśli używasz tych dwóch kombinacji powodujących konflikt, może zostać wyświetlony komunikat o błędzie podobny do następującego z narzędzia:

Błąd:-=====Błąd: 0x80070467
Tekst błędu: Podczas uzyskiwania dostępu do dysku twardego operacja dysku nie powiodła się nawet po ponownych próbach.
Opis: Sprawdzanie poprawności buforu nie powiodło się na stronie C:\SQLIOSim.mdx: 28097
LogFile fałsz Wskazuje, czy plik zawiera dane dziennika transakcji lub użytkownika Zdefiniuj co najmniej jeden plik dziennika.

Sekcja RandomUser

Narzędzie SQLIOSim używa wartości określonych w sekcji RandomUser, aby symulować proces roboczy SQL Server wykonujący losowe operacje zapytań, takie jak wzorce we/wy przetwarzania transakcji online (OLTP).

Parametr Wartość domyślna opis Komentarze
UserCount -1 Liczba wątków dostępu losowego, które są wykonywane w tym samym czasie Wartość nie może przekroczyć wartości: CPUCount*1023-100.
Całkowita liczba wszystkich użytkowników nie może również przekroczyć tej wartości. Wartość zero (0) oznacza, że nie można utworzyć użytkowników dostępu losowego. Wartość -1 oznacza, że należy użyć automatycznej konfiguracji wartości: min(CPUCount*2, 8).
NOTE system SQL Server może mieć tysiące sesji. Większość sesji nie ma aktywnych żądań. Użyj funkcji count(*) w zapytaniach przeciw dynamicznemu widokowi zarządzania sys.dm_exec_requests (DMV) jako punktu odniesienia do ustalenia tej wartości parametru testowego.

CPUCount tutaj odwołuje się do wartości parametru CPUCount w CONFIG sekcji .

Wartość min(CPUCount*2, 8) powoduje zmniejszenie wartości między CPUCount*2 i 8.
JumpToNewRegionPercentage 500 Szansa na przejście do nowego regionu pliku Początek regionu jest wybierany losowo. Rozmiar regionu jest losową wartością między wartością MinIOChainLength parametru a wartością parametru MaxIOChainLength .
MinIOChainLength 1 Minimalny rozmiar regionu na stronach
MaxIOChainLength 100 Maksymalny rozmiar regionu na stronach Programy SQL Server 2005 Enterprise Edition i SQL Server 2000 Enterprise Edition mogą odczytywać maksymalnie 1024 strony.

Minimalna wartość to 0. Maksymalna wartość jest ograniczona przez pamięć systemowa.

Zazwyczaj losowe działanie użytkownika powoduje, że występują małe operacje skanowania. Użyj wartości określonych w sekcji, ReadAheadUser aby symulować większe operacje skanowania.
RandomUserReadWriteRatio 9000 Procent stron do zaktualizowania W regionie wybrano łańcuch o losowej długości i można go odczytać. Ten parametr definiuje procent stron do zaktualizowania i zapisania na dysku.
MinLogPerBuffer 64 Minimalny rozmiar rekordu dziennika w bajtach Wartość musi być wielokrotną częścią rozmiaru sektora dysku lub rozmiarem, który pasuje równomiernie do rozmiaru sektora na dysku.
MaxLogPerBuffer 8192 Maksymalny rozmiar rekordu dziennika w bajtach Ta wartość nie może przekroczyć 64 000. Wartość musi być wielokrotną częścią rozmiaru sektora dysku.
RollbackChance 100 Prawdopodobieństwo, że zostanie wykonana operacja w pamięci, która spowoduje wystąpienie operacji wycofywania. Gdy ta operacja wycofywania następuje, program SQL Server nie zapisuje w pliku dziennika.
SleepAfter 5 Czas uśpienia po każdym cyklu, w milisekundach

Sekcja AuditUser

Narzędzie SQLIOSim pobiera wartości określone w sekcji AuditUser, aby symulować aktywność DBCC w celu odczytu i inspekcji informacji o stronie. Walidacja występuje nawet wtedy, gdy wartość parametru UserCount jest ustawiona na 0wartość .

Parametr Wartość domyślna opis Komentarze
UserCount 2 Liczba wątków inspekcji Wartość nie może przekroczyć następującej wartości: CPUCount*1023-100.
Całkowita liczba wszystkich użytkowników nie może również przekroczyć tej wartości. Wartość 0 oznacza, że nie można utworzyć użytkowników dostępu losowego. Wartość -1 oznacza, że należy użyć automatycznej konfiguracji wartości: min(CPUCount*2, 8).
NOTE System SQL Server może mieć tysiące sesji. Większość sesji nie ma aktywnych żądań. Użyj funkcji count(*) w zapytaniach względem widoku zarządzania dynamicznego sys.dm_exec_requests jako punkt odniesienia ustalania wartości parametru testowego.

CPUCount tutaj odwołuje się do wartości parametru CPUCount w CONFIG sekcji .

Wartość min(CPUCount*2, 8) generuje mniejsze wartości między CPUCount*2 i 8.
BuffersValidated 64
DelayAfterCycles 2 Po zakończeniu liczby cykli BuffersValidated, zastosuj parametr AuditDelay.
AuditDelay 200 Liczba milisekund oczekiwania po każdej DelayAfterCycles operacji

Sekcja ReadAheadUser

Narzędzie SQLIOSim przyjmuje wartości określone w sekcji ReadAheadUser, aby symulować aktywność wstępnego odczytu SQL Server. Program SQL Server korzysta z technologii odczytu z góry, aby maksymalizować asynchroniczne możliwości wejścia/wyjścia i ograniczać opóźnienia zapytań.

Parametr Wartość domyślna opis Komentarze
UserCount 2 Liczba wątków z wyprzedzeniem odczytu Wartość nie może przekroczyć następującej wartości: CPUCount*1023-100.
Całkowita liczba wszystkich użytkowników nie może również przekroczyć tej wartości. Wartość 0 oznacza, że nie można utworzyć użytkowników dostępu losowego. Wartość -1 oznacza, że należy użyć automatycznej konfiguracji następującej wartości: min(CPUCount*2, 8).
UWAGA System programu SQL Server może mieć tysiące sesji. Większość sesji nie posiada aktywnych żądań. Użyj funkcji count(*) w zapytaniach do sys.dm_exec_requests DMV jako punktu odniesienia do ustalenia wartości tego parametru testowego.

CPUCount tutaj odwołuje się do wartości parametru CPUCount w sekcji CONFIG.

Wartość min(CPUCount*2, 8) powoduje zmniejszenie wartości między CPUCount*2 i 8.
BuffersRAMin 32 Minimalna liczba stron do odczytu na cykl Minimalna wartość to 0. Maksymalna wartość jest ograniczona przez pamięć systemowa.
BuffersRAMax 64 Maksymalna liczba stron do odczytu na cykl Wersje programu SQL Server Enterprise mogą odczytywać maksymalnie 1024 strony w jednym żądaniu. Jeśli zainstalujesz SQL Server na komputerze z dużą ilością zasobów procesora, pamięci i dysku, zwiększ rozmiar pliku i rozmiar odczytu z wyprzedzeniem.
DelayAfterCycles 2 Zastosuj parametr RADelay po zakończeniu określonej liczby cykli.
RADelay 200 Liczba milisekund oczekiwania po każdej DelayAfterCycles operacji

Sekcja BulkUpdateUser

Narzędzie SQLIOSim przyjmuje wartości określone w sekcji BulkUpdateUser, aby symulować operacje zbiorcze, takie jak operacje SELECT...INTO i BULK INSERT.

Parametr Wartość domyślna opis Komentarze
UserCount -1 Liczba wątków BULK UPDATE Wartość nie może przekroczyć następującej wartości: CPUCount*1023-100
Wartość -1 oznacza, że należy użyć automatycznej konfiguracji następującej wartości: min(CPUCount*2, 8).
UWAGA System programu SQL Server może mieć tysiące sesji. Większość sesji nie ma aktywnych żądań. Użyj funkcji count(*) w zapytaniach do sys.dm_exec_requests DMV jako punktu odniesienia do ustalenia wartości tego parametru testowego.

CPUCount tutaj odwołuje się do wartości parametru CPUCount w CONFIG sekcji .

Wartość min(CPUCount*2, 8) powoduje zmniejszenie wartości między CPUCount*2 i 8.
BuffersBUMin 64 Minimalna liczba stron do zaktualizowania na cykl
BuffersBUMax 128 Maksymalna liczba stron do zaktualizowania na cykl Minimalna wartość to 0. Maksymalna wartość jest ograniczona przez pamięć systemowa.
DelayAfterCycles 2 Zastosuj parametr BUDelay po zakończeniu określonej liczby cykli.
BUDelay 10 Liczba milisekund oczekiwania po każdej DelayAfterCycles operacji

Sekcja ShrinkUser

Narzędzie SQLIOSim przyjmuje wartości określone w ShrinkUser sekcji, aby symulować operacje zmniejszania bazy danych DBCC. Narzędzie SQLIOSim może również użyć sekcji , ShrinkUser aby zwiększyć rozmiar pliku.

Parametr Wartość domyślna opis
MinShrinkInterval 120 Minimalny interwał między operacjami zmniejszania w sekundach
MaxShrinkInterval 600 Maksymalny interwał między operacjami zmniejszania w sekundach
MinExtends 1 Minimalna liczba przyrostów, za pomocą których narzędzie SQLIOSim rośnie lub zmniejsza plik
MaxExtends 20 Maksymalna liczba przyrostów, za pomocą których narzędzie SQLIOSim rośnie lub zmniejsza plik

Plik konfiguracyjny .ini - komentarze

Znak średnika (;) na początku wiersza w pliku konfiguracji .ini powoduje, że wiersz jest traktowany jako pojedynczy komentarz.

Tworzenie pliku

Narzędzie SQLIOSim tworzy oddzielne pliki danych i dziennika, aby symulować wzorce we/wy, które SQL Server generuje w swoich plikach danych i dziennika. Narzędzie SQLIOSim nie używa silnika SQL Server do przeprowadzania testów obciążeniowych. W związku z tym można użyć narzędzia SQLIOSim do przetestowania komputera przed zainstalowaniem SQL Server.

Po uruchomieniu narzędzia SQLIOSim upewnij się, że określono tę samą lokalizację pliku używaną dla plików bazy danych SQL Server. Gdy to zrobisz, narzędzie symuluje tę samą ścieżkę we/wy, której używa baza danych SQL Server.

Możesz włączyć atrybuty kompresu lub szyfrowania dla istniejących plików testowych. Można również włączyć te atrybuty dla istniejącego katalogu, w którym są tworzone pliki testowe. Odpowiednie opcje włączania tych atrybutów znajdują się w oknie dialogowym Właściwości dla pliku lub katalogu.

Domyślnie narzędzie SQLIOSim tworzy pliki testowe, które mają rozszerzenia nazw plików mdx i ldx . W związku z tym te pliki nie zastępują istniejących plików danych i dzienników.

Ostrzeżenie

Aby uniknąć utraty rzeczywistych SQL Server danych, nie należy określać rzeczywistych plików bazy danych SQL Server do testowania. Narzędzie SQLIOSim zastępuje dane przy użyciu wzorców testów losowych.

Dziennik błędów i zarządzanie SQLIOSim

Narzędzie SQLIOSim tworzy plik dziennika błędów w jednej z następujących lokalizacji:

  • Lokalizacja określona w parametrze uruchamiania dziennika
  • Lokalizacja, którą określisz w wierszu ErrorFile= w pliku Sqliosim.cfg.ini

Dziennik błędów SQLIOSim.log.xml zawiera szczegółowe informacje o wykonaniu. Te szczegóły obejmują informacje o błędzie. Uważnie przejrzyj dziennik, aby uzyskać informacje o błędach i informacje ostrzegawcze.

Uwaga

Jeśli wystąpi błąd w narzędziu SQLIOSim, poproś producenta sprzętu o pomoc w ustaleniu głównej przyczyny problemu. Problem może być również spowodowany przez sterownik urządzenia, sterownik filtru systemu plików (na przykład oprogramowanie antywirusowe) lub system operacyjny.

Wiele kopii

Narzędzie SQLIOSim obsługuje testowanie na poziomie wielu plików i testowanie na poziomie wielu użytkowników. Narzędzie SQLIOSim nie wymaga wielu wywołań. Jeśli spełnione są następujące warunki, można uruchomić wiele kopii narzędzia SQLIOSim:

  • Wszystkie kopie odwołują się do unikatowych plików testowych dla każdego wystąpienia narzędzia.
  • Parametr MaxMemoryMB każdego wystąpienia zapewnia nienakładujący się region pamięci, który jest wystarczający dla każdego wystąpienia.

Suma parametru MaxMemoryMB dla każdego wystąpienia musi być mniejsza lub równa całkowitej pamięci fizycznej. Niektóre fazy testowania, takie jak symulacja punktu kontrolnego, mogą być intensywnie obciążane pamięcią i mogą tworzyć warunki braku pamięci podczas uruchamiania wielu kopii. Jeśli wystąpią błędy braku pamięci, zmniejsz liczbę uruchomionych kopii narzędzi.