Od razu się przyznam, że tytuł jest trochę zaczepny i w „stylu Onetu”, ale chciałbym Wam dziś napisać kilka słów o tym, o co czasem Klienci pytają pracowników Microsoft lub też konsultantów, w zakresie polepszania działania produktów Microsoft (tu na przykładzie Windows Server 2012) za pomocą różnych tricków (w tym zmian w rejestrze).
Podkręcanie systemów przez rejestr
To fakt, że jest sporo naszej winy w tym, że dawno temu przyzwyczailiśmy naszych Klientów do tego, że różne elementy systemów operacyjnych można było „tweakować” (nie mogę znaleźć dobrego polskiego odpowiednika) za pomocą różnych tricków. Najczęściej były to pewne zmiany w rejestrze lub w różnych innych plikach konfiguracyjnych.
Okazywało się, że np. w stosunku do podstawowej i domyślnej konfiguracji udawało się wyciągnąć więcej wydajności, więcej szybkości, więcej wszystkiego… I często proces instalacji systemu wyglądał tak:
- Instalacja domyślnego OS
- Znalezienie i zaimplementowanie magicznych zmian w rejestrze
- Zrekonfigurowanie domyślnych ustawień (np. ślepe wyłączenie IPv6)
- I inne tego typu…
Informacje o tym, co i jak podkręcać krążyły jako magiczne „tips & tricks” po internecie, forach i blogach i choć oczywiście często pojawiał się dopisek „nie ręczę za prawidłowe działanie” (lub jemu podobne), to jednak wielu specjalistów IT korzystało z takich możliwości i jakby nie patrzeć – na siebie brało odpowiedzialność za wprowadzanie takich zmian do środowiska produkcyjnego.
Dlaczego dziś podkręcanie nie ma racji bytu?
Do dziś pojawiają się takie pytania kierowane do wielu ludzi z Microsoft – ostatnio np. pytanie o to jaką wartość powinna mieć optymalna wielkość Page File dla hosta Hyper-V z Windows Server 2012 + od razu stwierdzenie, że sugestie tego typu mieliśmy kiedyś (2 lata temu) i jak to się ma dziś i gdzie można znaleźć podobne wskazówki. I drugi przykład – jaką wielkość RAM powinienem zarezerwować dla partycji parent, bo przecież kiedyś mieliśmy sugestie jak to zmienić i ustawić w rejestrze.
Tu zalecenie grup produktowych dla najnowszych systemów (w tym Windows Server 2012) jest jedno i proste: „let the system manage it” – czyli własnymi słowami – tak zaprojektowaliśmy nasze najnowsze systemy, aby na domyślnych ustawieniach działały jak najlepiej i jak najwydajniej.
I co ważne – wszystkie zespoły testowe w Microsoft to takie właśnie ustawienia sprawdzają i testują – więc tylko w ich wypadku masz pewność, że będzie to działać jak powinno – wydajnie, sprawnie i zgodnie z zalecenami. Nikt w Microsoft nie zajmuje się testowaniem takich „tweaków” czy własnych ustawień.
Natomiast jeśli ktoś z Was jest bardzo ciekawy dlaczego pewne rzeczy są zrobione w taki a nie inny sposób (i jak działa np. takie ustawianie Page File) oraz jak to działa na poziomie prawie że języka maszynowego – to możecie oczywiście usiąść do najnowszej edycji Windows Internals (6 edycja) i tam czytać sobie o wszystkich szczegółach. Aczkolwiek plotki krążą, że przeczytanie tej książki może spowodować zagotowanie mózgu 😉
Natomiast założenie jest takie, że to Windows ma zrobić trudną robotę za Ciebie, bo nie na darmo ktoś siedział nad tym dłuższy czas. Więc proponuję na przyszłość pamiętać o tym i w odniesieniu do najnowszych produktów Microsoft zaufać nam, że domyślne ustawienia zrobione są tak, aby były jak najlepsze dla Twojego środowiska. I kiedy mówimy „pozwól systemowi tym zarządzać” – to dla Waszego spokoju ducha tak zróbcie, a nie będziecie żałować 🙂
I na zakończenie ciekawy cytat z dyskusji z grupą produktową:
There is an old saying in the kernel world that you should never try to manage the memory manager, or out-schedule the thread scheduler.