Używanie narzędzia SQLIOSim do symulowania aktywności programu SQL Server w podsystemie dysku
W tym artykule opisano sposób używania narzędzia SQLIOSim do przeprowadzania testów obciążeniowych na podsystemach dysków w celu symulowania działania programu SQL Server.
Oryginalna wersja produktu: SQL Server
Oryginalny numer KB: 231619
Wprowadzenie
W tym artykule opisano narzędzie SQLIOSim. Za pomocą karty SQLIOSim można wykonywać testy niezawodności i integralności w podsystemach dysków używanych przez program SQL Server. Te testy SQLIOSim symulują działania odczytu, zapisu, zapisu, punktu kontrolnego, kopii zapasowej, sortowania i odczytu wykonywane przez program Microsoft SQL Server. Aby uzyskać więcej informacji na temat wzorców we/wy programu SQL Server, zobacz Sql Server I/O Basics (Podstawy we/wy programu SQL Server, rozdział 2). Narzędzie SQLIOSim wykonuje tę symulację niezależnie od aparatu programu SQL Server.
Głównym celem testów symulacji we/wy jest zapewnienie niezawodności bazowego podsystemu we/wy przed rozpoczęciem korzystania z niego przez program SQL Server. SqlIOSim nie współdziała z programem SQL Server i nawet nie wymaga uruchomienia programu SQL Server. W większości przypadków zalecamy użycie karty SQLIOSim, gdy program SQL Server nie działa, aby uniknąć konkurencji dla przepływności we/wy między dwiema aplikacjami. Należy bardzo uważać, aby nie wskazywać ani używać rzeczywistych plików bazy danych programu SQL Server w teście SQLIOSim, ponieważ można je zastąpić.
Aby ułatwić utrzymanie odpowiedniej integralności danych, zalecamy przeprowadzenie testów obciążeniowych podsystemu we/wy przed wdrożeniem programu SQL Server na nowym sprzęcie. Narzędzie SQLIOSim symuluje wzorce odczytu i zapisu oraz techniki identyfikacji problemu programu SQL Server. Aby wykonać te zadania, narzędzie SQLIOSim symuluje aktywność użytkownika i aktywność systemową systemu SQL Server.
Narzędzie SQLIOSim nie gwarantuje ani nie gwarantuje bezpieczeństwa ani integralności danych. Narzędzie zostało zaprojektowane w celu zapewnienia podstawowego testowania środowiska systemowego. Narzędzie SQLIOSim 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 wykonać testy porównawcze wydajności i chcieć określić pojemność przepływności we/wy systemu magazynu, zamiast tego użyj narzędzia Diskspd .
Narzędzie SQLIOSim zastępuje narzędzie SQLIOStress, które wcześniej było znane jako narzędzie SQL70IOStress.
Lokalizacja SQLIOSim
W przeszłości narzędzie SQLIOSim zostało wysłane jako oddzielny pakiet pobierania. Począwszy od programu SQL Server 2008, funkcja SQLIOSim jest zawarta w instalacji produktu SQL Server. Po zainstalowaniu programu SQL Server narzędzie SQLIOSim można znaleźć w folderze \Binn instalacji programu SQL Server. Zalecamy użycie tej zaktualizowanej wersji narzędzia do symulowania aktywności we/wy w podsystemie dysku.
Trzy pliki są częścią pakietu SQLIOSim. 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ć do uruchamiania bez interakcji z użytkownikiem. W tej konfiguracji można użyć parametrów wiersza polecenia, pliku konfiguracji lub kombinacji obu tych 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.
- Możesz również użyć plików konfiguracji, aby zautomatyzować symulację we/wy za pomocą karty SQLIOSim. Aby uzyskać więcej informacji, zobacz sekcję plik konfiguracji SQLIOSim.
Używanie karty SQLIOSim na maszynie bez programu SQL Server
Zalecamy użycie karty SQLIOSim na potrzeby rozszerzonego testu na maszynie przed zainstalowaniem programu SQL Server. Służy do testowania podsystemu we/wy, w którym planujesz umieścić pliki danych i dziennika w przyszłości i zapewnić niezawodność podsystemu we/wy. Aby wykonać to zadanie, rozważ skopiowanie trzech plików SQLIOSim z komputera, na którym jest zainstalowany program SQL Server, i uruchomienie testów przed instalacją programu 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 tej maszynie.
Jak używać karty SQLIOSim
Nie potrzebujesz usługi SQL Server uruchomionej podczas korzystania z karty SQLIOSim. W rzeczywistości zalecamy, aby nie uruchamiać programu SQL Server podczas działania karty SQLIOSim, ponieważ mogą konkurować o zasoby we/wy.
Ostrzeżenie
Nie należy określać rzeczywistych plików bazy danych programu SQL Server na potrzeby testowania. Narzędzie SQLIOSim zastąpi dane losowymi wzorcami testów, a rzeczywiste dane programu SQL Server zostaną utracone.
W kilku następnych przykładach pokazano, jak uruchomić karty SQLIOSim przy użyciu graficznego interfejsu użytkownika i 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 . Zostanie wyświetlone okno Pliki i konfiguracja , które zawiera niektóre ustawienia domyślne. Możesz zmodyfikować te ustawienia, aby odpowiadały potrzebom konfiguracji.
Wyróżnij pierwszy plik mdx C:\temp\sqliosim\sqliosim.mdx na liście. Ten plik jest odpowiednikiem pliku danych.
Zmodyfikuj ustawienia pliku, zmieniając jego lokalizację, rozmiar, maksymalny rozmiar lub przyrost. Pozostaw plik dziennika niezaznaczone, ponieważ chcesz symulować plik danych. Następnie naciśnij przycisk 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.
Zmodyfikuj drugi plik za pomocą sufiksu ldx . Ten plik reprezentuje odpowiednik pliku dziennika transakcji. Pamiętaj, aby zachować włączone pole wyboru Plik dziennika. Po zakończeniu wybierz Zastosuj.
Możesz dodać więcej plików do listy, wybierając opcję Nowy plik w środku ekranu wewnątrz siatki tabelarycznej. Po wybraniu pozycji Nowy plik możesz wpisać lokalizację pliku i wybrać pozostałe ustawienia. Nie zapomnij wybrać pozycji Zastosuj. Oto przykład:
Gdy konfiguracja będzie satysfakcjonująca, wybierz przycisk OK .
Wybierz pozycję Symulator>Rozpocznij, aby uruchomić symulację we/wy SQL. Alternatywnie możesz wybrać F12 lub najdalej po lewej stronie z zielonym okręgiem wewnątrz.
Poczekaj na ukończenie symulacji i sprawdź dane wyjściowe.
Przykład 2. Używanie narzędzia wiersza polecenia i pliku konfiguracji
Zmodyfikuj plik sqliosim.default.cfg.ini , usuwając komentarze dla
File1
sekcji i iFile2
i modyfikującFileName
wartości 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
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żywanie narzędzia wiersza polecenia na wielu dyskach
Poniższy przykład tworzy pliki 32 GB 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
SQLIOSim.com parametrów wiersza polecenia
SQLIOSIM.COM akceptuje ograniczoną liczbę parametrów wiersza polecenia w celu kontrolowania podstawowego zachowania. Plik konfiguracji narzędzia SQLIOSim zapewnia zaawansowaną kontrolę zachowania. Gdy parametry wiersza polecenia i opcje pliku konfiguracji nakładają się na siebie, parametry wiersza polecenia mają pierwszeństwo.
Parametr | Komentarz |
---|---|
-cfg plik |
Zastąpić domyślny plik konfiguracji Sqliosim.cfg.ini . Narzędzie SQLIOSim zwraca błąd, jeśli narzędzie nie może odnaleźć pliku. |
-save plik |
Zapisz wynikowej konfiguracji w pliku konfiguracji. Tej opcji można użyć do utworzenia początkowego pliku 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 przebiegu. 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
Możesz użyć pliku konfiguracji z funkcją SQLIOSim, aby ułatwić wybranie wszystkich ustawień symulacji we/wy z góry. Ten plik konfiguracji może pomóc w automatyzowaniu wykonywania karty SQLIOSim.
Przykładowe pliki konfiguracji dla różnych testów można pobrać z repozytorium GitHub zespołu pomocy technicznej programu SQL Server.
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
Dostępnych jest pięć przykładowych plików konfiguracji, jeśli chcesz ich używać do zautomatyzowanych przebiegów karty SQLIOSim.
Przykładowy plik | opis | Parametry, które różnią się od domyślnego pliku konfiguracji |
---|---|---|
sqliosim.default.cfg.ini | ||
sqliosim.hwcache.cfg.ini | - Minimalizuj odczyty - Pliki są 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 | - Usuwanie ograniczania operacji we/wy — Minimalizowanie czasu oczekiwania na zwiększenie woluminu we/wy |
TargetIODuration=1000000 AuditDelay=10 RADelay=10 |
sqliosim.seqwrites.cfg.ini | - Minimalizuj odczyty - Pliki są małe, aby zachować je w pełni w pamięci - Pliki są tworzone bez zmniejszania - 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żyj tylko 32 MB pamięci — Umożliwia wystarczająco duży docelowy czas trwania we/wy, aby umożliwić wiele zaległych żądań we/wy — Wyłączanie interfejsów API punktowych/zbierania w celu wystawiania oddzielnych żądań we/wy dla każdej strony 8 KB — Tworzenie pliku o rozmiarze 1 GB, który nie można zmniejszyć - Tworzenie strumienia pomocniczego o rozmiarze 1 GB niezwiązanym z rozrzedniami 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
to10 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
wartość . - Jeśli typ parametru to
Boolean
, prawidłowe wartości, które można przypisać do parametru, totrue
ifalse
. Ponadto wartości są uwzględniane w wielkości liter. 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ść 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
W pliku konfiguracji znajduje się kilka sekcji:
- [CONFIG]
- [RandomUser]
- [AuditUser]
- [ReadAheadUser]
- [BulkUpdateUser]
- [ShrinkUser]
- [Plik<N>] (symbol zastępczy
<N>
jest liczbą)
Każda z tych sekcji została opisana w poniższej sekcji.
Sekcja konfiguracji
Narzędzie SQLIOSim przyjmuje wartości określone 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 CPU na komputerze | Liczba procesorów logicznych do utworzenia | Maksymalna wartość to 64 procesory CPU. |
Affinity |
0 | Maska koligacji procesora fizycznego do zastosowania dla procesorów logicznych | Maska koligacji powinna znajdować się w aktywnej masce procesora CPU. Wartość 0 oznacza, że zostaną użyte wszystkie dostępne procesory CPU. |
MaxMemoryMB |
Dostępna pamięć fizyczna po uruchomieniu narzędzia SQLIOSim | Rozmiar puli 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 zaległych 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 w celu zmniejszenia obciążenia i skrócenia czasu ukończenia operacji we/wy. |
AllowIOBursts |
prawda | Zezwalaj na wyłączanie ograniczania przepustowości w celu publikowania wielu żądań we/wy | We/Wy są włączone podczas początkowej aktualizacji, początkowego punktu kontrolnego i końcowego punktu kontrolnego przechodzi na końcu cykli testowych. Parametr MaxOutstandingIO jest nadal honorowany. Można oczekiwać długich ostrzeżeń we/wy. |
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 usługi Analysis Services, używają polecenia FILE_FLAG_NO_BUFFERING == false . Aby w pełni przetestować serwer, wykonaj 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, wykonaj jeden test dla każdego ustawienia. |
ScatterGather |
prawda | Używanie interfejsów ReadScatter API lub WriteGather |
Jeśli ten parametr jest ustawiony na true wartość , NoBuffering parametr jest również ustawiony na true wartość .Program SQL Server używa punktowych/zbieranych operacji we/wy dla większości żądań we/wy. |
ForceReadAhead |
prawda | Wykonaj operację odczytu z wyprzedzeniem, nawet jeśli dane są już odczytywane | Narzędzie SQLIOSim wystawia polecenie odczytu, nawet jeśli strona danych znajduje się już w puli. Obsługa programu Microsoft SQL Server pomyślnie użyła prawdziwego ustawienia, aby uwidocznić problemy we/wy. |
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 usunie wszystkie strumienie danych. |
StampFiles |
fałsz | Rozwijanie pliku przez oznaczanie 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 natychmiastowe inicjowanie plików nie jest włączone, program SQL Server wykonuje zero sygnatur. 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 tak, aby umożliwić testowanie wielu 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 FileName parametr może być ustawiony na file.mdf:stream2 wartość .UWAGA W programie SQL Server 2005 operacje DBCC używają strumieni. Zalecamy wykonanie testów 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 który plik rośnie lub zmniejsza. Aby uzyskać więcej informacji, zobacz sekcję ShrinkUser tego artykułu. |
Narzędzie SQLIOSim dostosowuje Increment parametr podczas uruchamiania, aby sytuacja została ustanowiona: Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles .Jeśli wartość Increment to 0 , narzędzie SQLIOSim ustawia plik jako niewłaszczący. |
Shrinkable |
fałsz | Wskazuje, czy plik można skurczyć, czy rozwinąć | W przypadku ustawienia parametru Increment na 0 wartość , należy ustawić plik jako niewłaszczący. 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 atrybut rozrzedzona ma być ustawiony na plikach | W przypadku istniejących plików narzędzie SQLIOSim nie czyści atrybutu Rozrzedzona 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. Zalecamy włączenie zarówno rozrzednego pliku, jak i strumieni, a następnie wykonania testu. UWAGA W przypadku ustawienia Sparse = true pliku nie należy określać NoBuffering = false w config sekcji . Jeśli używasz tych dwóch kombinacji powodujących konflikt, może zostać wyświetlony błąd 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 | Należy zdefiniować co najmniej jeden plik dziennika. |
Sekcja RandomUser
Narzędzie SQLIOSim pobiera wartości określone w sekcji, aby symulować proces roboczy programu SQL Server wykonujący losowe operacje zapytań, takie jak wzorce we/wy RandomUser
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) .UWAGA System programu SQL Server może mieć tysiące sesji. Większość sesji nie ma aktywnych żądań. count(*) Użyj funkcji w zapytaniach względem dynamicznego sys.dm_exec_requests widoku zarządzania (DMV) jako punktu odniesienia do ustanowienia 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. | Po zakończeniu tej operacji wycofywania 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 AuditUser
sekcji, aby symulować działanie DBCC w celu odczytywania i inspekcji informacji o stronie. Walidacja występuje nawet wtedy, gdy wartość parametru UserCount
jest ustawiona na 0
wartość .
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) .UWAGA System programu SQL Server może mieć tysiące sesji. Większość sesji nie ma aktywnych żądań. count(*) Użyj funkcji w zapytaniach względem dynamicznego sys.dm_exec_requests widoku zarządzania jako punktu odniesienia do ustanowienia 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 . |
BuffersValidated |
64 | ||
DelayAfterCycles |
2 | Zastosuj parametr AuditDelay po zakończeniu liczby cykli BuffersValidated | |
AuditDelay |
200 | Liczba milisekund oczekiwania po każdej DelayAfterCycles operacji |
Sekcja ReadAheadUser
Narzędzie SQLIOSim pobiera wartości określone w sekcji w ReadAheadUser
celu symulowania działania z wyprzedzeniem odczytu programu SQL Server. Program SQL Server korzysta z działań z wyprzedzeniem odczytu, aby zmaksymalizować asynchroniczne możliwości we/wy i ograniczyć 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 ma aktywnych żądań. count(*) Użyj funkcji w zapytaniach względem dynamicznego sys.dm_exec_requests widoku zarządzania jako punktu odniesienia do ustanowienia tej wartości 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 program SQL Server na komputerze z dużą ilością zasobów procesora CPU, pamięci i dysku, zalecamy zwiększenie rozmiaru pliku i rozmiaru odczytu z wyprzedzeniem. |
DelayAfterCycles |
2 | Zastosuj parametr po zakończeniu RADelay 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 BulkUpdateUser
sekcji, aby symulować operacje zbiorcze, takie jak SELECT...INTO
operacje i BULK INSERT
operacje.
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ń. count(*) Użyj funkcji w zapytaniach względem dynamicznego sys.dm_exec_requests widoku zarządzania jako punktu odniesienia do ustanowienia 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 . |
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 po zakończeniu BUDelay 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 zwiększy lub zmniejszy plik |
MaxExtends |
20 | Maksymalna liczba przyrostów, za pomocą których narzędzie SQLIOSim zwiększy lub zmniejszy plik |
Komentarze do pliku .ini konfiguracji
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 pliki dziennika w celu symulowania wzorców we/wy generowanych przez program SQL Server w pliku danych i pliku dziennika. Narzędzie SQLIOSim nie używa aparatu programu SQL Server do wykonywania działań przeciążeniowych. W związku z tym można użyć narzędzia SQLIOSim do przetestowania komputera przed zainstalowaniem programu SQL Server.
Po uruchomieniu narzędzia SQLIOSim upewnij się, że określono tę samą lokalizację pliku używaną dla plików bazy danych programu SQL Server. Gdy to zrobisz, narzędzie symuluje tę samą ścieżkę we/wy co baza danych programu 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 zostaną utworzone 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ąpią istniejących plików danych i dzienników.
Ostrzeżenie
Nie należy określać rzeczywistych plików bazy danych programu SQL Server na potrzeby testowania. Narzędzie SQLIOSim zastąpi dane losowymi wzorcami testów, a rzeczywiste dane programu SQL Server zostaną utracone.
Dziennik błędów i obsługa karty 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 określona w
ErrorFile=
wierszu 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 16.
Jeśli wystąpi błąd w narzędziu SQLIOSim, zalecamy, aby poprosić 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 na wystąpienie narzędzia.
- Parametr
MaxMemoryMB
każdego wystąpienia zapewnia dla nienakładających się regionów pamięci, które są wystarczające 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ą wymagać dużej ilości pamięci i mogą tworzyć warunki braku pamięci podczas uruchamiania wielu kopii. Jeśli wystąpią błędy braku pamięci, możesz zmniejszyć liczbę uruchomionych kopii narzędziowych.