Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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
Przejdź do katalogu C:\Program Files\Microsoft SQL Server\MSSQLXX.<InstanceName>\MSSQL\Binn.
Uruchom aplikację SQLIOSIM.EXE .
W oknie Pliki i konfiguracja poszukaj ustawień domyślnych, które można zmodyfikować zgodnie z potrzebami konfiguracji.
Wybierz pierwszy plik mdx z listy C:\temp\sqliosim\sqliosim\sqliosim.mdx. Ten plik jest odpowiednikiem pliku danych.
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.
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.
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.
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.
Jeśli konfiguracja jest satysfakcjonująca, wybierz przycisk OK.
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.
Poczekaj na zakończenie symulacji, a następnie sprawdź dane wyjściowe.
Przykład 2. Używanie narzędzia wiersza polecenia i pliku konfiguracji
Edytuj plik sqliosim.default.cfg.ini . Usuń komentarze dla sekcji
File1iFile2, i zmień wartościFileNamena 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=FALSEUruchom 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=10000UserCount=0 |
| sqliosim.nothrottle.cfg.ini | — Usuwa ograniczanie operacji we/wy - Minimalizuje czas oczekiwania na zwiększenie woluminu we/wy |
TargetIODuration=1000000AuditDelay=10RADelay=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=FALSEW sekcjach AuditUser, ReadAheadUser i RandomUser: CacheHitRatio=10000ForceReadAhead=FALSEBuffersBUMin=600BuffersBUMax=1000BUDelay=1UserCount=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=32TestCycles=3TestCycleDuration=600TargetIODuration=10000UseScatterGather=FALSE[File1]FileName=sqliosim.mdxInitialSize=1000 MaxSize=1000Increment=10Shrinkable=FALSELogFile=FALSESparse=FALSE[File2]FileName=sqliosim.ldxInitialSize=50MaxSize=50Increment=0Shrinkable=FALSELogFile=TRUESparse=FALSE[File3]FileName=sqliosim.mdx:replicaInitialSize=1000MaxSize=1000Increment=10Shrinkable=FALSELogFile=FALSESparse=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
CacheHitRatioto10 percent. Ta wartość jest wyrażona jako1000, ponieważ wartość 10 podzielona przez 0,01 jest równa1000. Maksymalna wartość parametru procentowego to10000. - 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
trueifalse. 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
MinIOChainLengthnie może być większa niż wartość parametruMaxIOChainLength. - 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:
- [CONFIG]
- [RandomUser]
- [AuditUser]
- [ReadAheadUser]
- [BulkUpdateUser]
- [ShrinkUser]
-
[Plik<N>] (element zastępczy
<N>jest liczbą)
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-100Wartość -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
MaxMemoryMBkaż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.