SQL Server: jedna 12-dyskowa macierz RAID-10 lub 2 macierze 8- i 4-dyskowe


Skonfigurować pudełko dla SQL Server 2008, które zapewni najlepszą wydajność (ciężki OLTP)? Im więcej dysków w macierzy RAID-10, tym lepsza wydajność, ale utrata 4 dysków w celu przydzielenia ich do dzienników transakcji da nam lepszą wydajność.
12 dysków w macierzy RAID-10 plus jeden dysk zapasowy.
LUB
8 dysków w macierzy RAID-10 na bazę danych i 4 dyski w macierzy RAID-10 na dzienniki transakcji oraz 2 dyski zapasowe (po jednym na każdą macierz).
Mamy 14 gniazd na dyski i jest to starsza wersja oprogramowania PowerVault, która nie obsługuje globalnych dysków zapasowych.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Poszedłbym 10/2. Dzienniki są zwykle małe i sekwencyjne, a kontroler RAID powinien być w stanie umieścić je w kolejce na tyle wydajnie, aby zapisać je na 2 dyskach w rajdzie 1 bez ingerencji w resztę. Jeśli twój kontroler RAID nie może tego zrobić, zapomnij o partycjonowaniu i po prostu wybierz 12, jeśli się spieszysz. Jeśli masz czas, przeprowadź testy i zobacz, co działa. Szkoda z powodu braku globalnych gorących części, ale i tak wygląda na to, że masz porządne pudełko do zabawy.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

ty

musieć

najpierw określ swoje obciążenie pracą. I testuj, testuj, testuj (nie mogę tego wystarczająco podkreślić):
Po pierwsze, stwierdzenie „im więcej dysków w mojej macierzy RAID 10, tym szybciej” nie jest prawdą. To zależy w dużej mierze od tego, w jaki sposób twój system RAID implementuje ten poziom RAID (zapis/odczyt/rozłożenie/alokacja bufora ... mógłbym kontynuować).
Po drugie, chociaż zawsze dobrym pomysłem jest przechowywanie dzienników transakcji w innej lokalizacji (na dysku) niż w bazie danych, efektywny zysk zależy od obciążenia pracą, niezależnie od tego, czy jest wiele, ale małych rekordów, czy niewiele, ale ogromnych rekordów, tak że współczynnik zapisu/odczytu, odczyt rozmiaru itp. str.
Mówisz, że wykonujesz dużo OLTP. W moim rozumieniu tego terminu oznacza to wiele odczytów, a nie wiele zapisów (... prawda? Proszę to najpierw potwierdzić). W takim przypadku możliwe jest przechowywanie dzienników transakcji w tej samej lokalizacji, więc wybrałbym

12 płyt

.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Powinieneś być w porządku z 12 dyskami w RAID-10, ale upewnij się, że serwer ma przyzwoitą ilość pamięci. Powodem jest to, że jeśli masz wystarczającą ilość pamięci, większość rekordów danych będzie buforowana, a wiele rekordów zostanie skonsolidowanych w jedną transakcję we/wy, jeśli chodzi o zapisywanie danych na dysku. Jest to szczególnie prawdziwe w przypadku bazy danych OLTP. Buforowanie zapewnia wystarczającą przepustowość, aby zapisać dziennik transakcji na tym samym dysku. Możesz dodatkowo poprawić wydajność zapisu, używając sprzętowego kontrolera RAID z wbudowaną pamięcią podręczną chronioną przez jednostki BBU w trybie zapisu z powrotem.
Należy również pamiętać, że używanie 8 + 4 lub 10 + 2 jest również dobrą opcją, jedyną wadą, jaką widzę w tym, jest nieefektywne wykorzystanie pamięci. W przeciwnym razie jest solidny.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

O ile wiem, należy wziąć pod uwagę dwa główne czynniki.
  • Operacje na plikach bazy danych będą generalnie losowe, więc będziesz chciał zmaksymalizować IOPS dla tego dysku, podczas gdy operacje na plikach dziennika transakcji będą zwykle sekwencyjne, więc potrzebujesz dobrej surowej przepustowości.
  • Dlatego chcesz, aby główna baza danych i dzienniki transakcji były oddzielne - jeśli utracisz dyski głównej bazy danych, możesz przywrócić bazę danych z kopii zapasowej + dzienników transakcji, a jeśli po prostu stracisz dzienniki transakcji, nadal masz główną bazę danych. ..

Oczywiście jest to dużo bardziej skomplikowane niż powyższe podsumowanie, ale to są podstawy. Więc powiedziałbym, że użyj dwóch oddzielnych macierzy i jeśli masz możliwość używania RAID10 do obu, to świetnie.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się