Treść książki
Przejdź do opcji czytnikaPrzejdź do nawigacjiPrzejdź do informacjiPrzejdź do stopki
onerównieżśledzićswojewłasneżądaniawejścia/wyjścia(I/O).Podobniejakprocesy
,wątki
równieżmająokreślonypriorytet.Ogólnypoziom(zakres)tegopriorytetujestdziedziczony
zprocesu,alewątekmożeskorygowaćswójwłasnypriorytetwgranicachtegozakresu.
Priorytetjestkluczowąwłaściwościąprocesulubwątku,gdyżokreślaon,jakczęstowątek
uzyskaprzydziałcykliprocesora.Jakmożnasiędomyśleć,imwyższypriorytet,tymczęściej
wątekuzyskujeczasprocesora.Aponieważnicniedziejesiębezudziałuczasuprocesora
wceluwykonywaniainstrukcji,cechatajestkrytyczna.
uWagaJeśliktośchciałbyzobaczyć,jakpriorytetokreślonegoprocesumasiędoinnychtypów
procesów,możewykorzystaćnarzędzieTaskManager(Menedżerzadań)iwłączyćwyświetlanie
kolumnyBasePriority(Priorytetpodstawowy).Łatwozauważyć,żeprocesysystemowe,takiejak
Csrss.exe(Win32Subsystem)mająwyższypriorytetniżaplikacjeużytkownika,zatemczęściej
uzyskująprzydziałczasuprocesora.Jesttodziałaniezamierzone–naniczdałabysięnawet
największaresponsywnośćaplikacji,jeślisameWindowsprzestanąodpowiadać.
Jednązrzeczy
,któreodróżniająserweryRDSHsodinnychtypówserwerów,jestsposób
wykorzystaniapriorytetyzowaniaprocesów.Innetypyserwerów,najogólniejmówiąc,sąpro-
jektowanetak,abyrobiłytylkojednąrzecz,alebardzodobrze:przeszukująbazydanych,
zarządzająpocztąelektronicznąlubudostępniająwitrynyinternetowe.Ichpriorytetysąjas-
ne:aplikacjapierwszegoplanujesttą,któramusidziałaćsprawnieibezzakłóceń.Ztego
względuprocesyiwątkinależącedotakiejaplikacjimająwyższypriorytet,niżtewtle.
uWagaSamoto,żeaplikacjapierwszegoplanujestgłównąobsługiwaną,nieoznacza,żejej
procesymająnajwyższypriorytet.Dogłębneomówieniezagadnieńzwiązanychzwzględnymi
priorytetamiróżnychtypówprocesówznaleźćmożnawksiążceMicrosoftWindowsInternals,
FifthEditionMarkaE.RussinovichaiDavidaA.Solomona(MicrosoftPress,2009).
Wodróżnieniuodinnychserwerów,RDSHniemajednegojasnegoceluczyteżpriorytetu
(wodróżnieniunp.doserweraExchange,którykoncentrujesięnajednymzadaniu:„Muszę
przesłaćtęcałąpocztę!”).Miewajądziesiątkirównoczesnychużytkowników,zktórychkażdy
robicoinnego,alewszyscyoczekująsprawniereagującegośrodowiska.Zpowodukonflik-
tupomiędzypriorytetamiposzczególnychużytkownikówjedynąmetodądziałaniaserwera
zzainstalowanąroląRDSHjestustawienierównegopriorytetuwszystkichprocesówiwąt-
kówużytkowników.Wyrównaniepriorytetówprocesówsprawia,żemożemyoszacować
obciążenie,jakiemumożepodołaćserwer,ustalając,jakwieleczasuprocesorawymagapoje-
dynczasesjaużytkownika.Pokażemy
,jaktozrobićprzyużyciunarzędziaPerformanceMoni-
torwdalszejczęścitegorozdziału.Jednakkluczowąrzeczą,którąmusimyzapamiętać,jest
fakt,żedziałaniepolegającenazainstalowaniuroliRDSHoptymalizujesystemoperacyjny
dopełnieniatejroliwsieci.Serwertakiniepriorytetyzujeprocesówtak,jakrobitoserwer
bazydanychlubpoczty
,gdyżpotrzebysązasadniczoodmienne.
Gdybywjednejsesjizostałauruchomionaznacznaliczbawymagającychaplikacji,
mogłobytopotencjalniewpłynąćnainnesesje,pomimotegonawet,żewszystkieaplikacje
majątensampriorytet.WsystemieWindowsServer2008problemtenbyłrozwiązywany
46
Rozdział2:KluczowekoncepcjearchitekturyRDS