Plně využít potenciál serverů

Software pro řízení výkonnosti pomáhá správcům systémů najít rezervy v hardwaru, softwaru a konfiguraci. Usnadňuje...


Software pro řízení výkonnosti pomáhá správcům systémů najít rezervy v
hardwaru, softwaru a konfiguraci. Usnadňuje odkrytí úzkých profilů a zabraňuje
zhroucení systému.
Mnohé síťové operační systémy mají integrované funkce, jimiž se dá kontrolovat
výkon serverů. Tyto kontrolní možnosti se však omezují jen na momentální,
skutečný stav. Trend k výkonnostním výpadkům nebo dokonce ke zhroucení systému
tyto palubní systémy nerozeznají, protože si nepamatují předchozí naměřené
hodnoty. Dlouhodobější vyhodnocování za týdny nebo měsíce není možné.
Rozpoznávání a reagování na kritické výkonnostní hodnoty ponechává proto
operační systém na správci systému, který by měl neustále sledovat kontrolní
monitor.
Specializovaný software pro řízení výkonnosti dokumentuje rozhodující
parametry, má výstražné funkce a provádí automaticky nouzové procesy. Navíc
podporuje dlouhodobé analýzy, které upozorní na slabá místa systému. V zásadě
platí, že programy pro řízení výkonnosti by měly co nejméně zatěžovat síť.
Proto je velmi důležitý způsob, jak tento software hodnoty sbírá, ukládá do
paměti a přenáší. Jsou--li na serveru instalovány agentské programy, které
ukládají naměřené hodnoty přímo na místě, je možno kontrolovat velké množství
parametrů, aniž by se tím zvýšil provoz sítě. Ze shromážděných dat by agenti
měli přenášet na kontrolní stanoviště jen určitý výběr podle předem zadaných
parametrů.
Správce nutně musí mít jistotu, že všechny aktivity probíhají bez problémů.
Proto by měl v pravidelných turnusech vyhodnocovat výkonnostní data všech
serverů v síti. Zvláštní pozornost vyžaduje doba špičkové zátěže, při níž se
mohou ohlašovat problémy, kterým by se včasným zásahem dalo zabránit. Podrobná
analýza dat, která jsou shromážděna při neočekávaném problému, může poskytnout
cenné impulzy pro jeho řešení.
Hledání slabých míst
Výpadky výkonnosti mají jen zřídkakdy jednu jedinou příčinu. Zejména ve velkých
a heterogenních sítích se navzájem ovlivňují stovky různých korelací. Software
pro řízení výkonnosti automatizuje hledání původce úzkých profilů a výpadků
systému. Čím větší jsou soubory dat z dlouhodobých analýz, tím účinnější jsou
automatizační funkce při aplikaci analýz.
Nesprávné závěry degradují i ty nejinteligentnější výkonové prognózy na
bezvýznamnou hru čísel, nejsou-li známé všechny souvislosti. Pokud například
rychlejší síťová karta napumpuje do již přetíženého routeru ještě více dat,
může vzniknout úzký profil, který ovlivní i další segmenty. Proto se doporučuje
dodržovat při kontrole a zvyšování výkonnosti následující postup:
identifikovat funkce s nedostatečným výkonem
izolovat komponenty, jichž se to týká (HW i SW)
změnit nastavení postupným přidáváním, odebíráním nebo výměnou komponent, které
problém způsobují
měřit výkonové hodnoty před a po ladění
Vedle statistických dat o hardwaru a operačních systémech by se měly
shromažďovat i informace o aplikacích, dnes především o používaných databázích.
Aby se mohlo porovnávat nastavení systému před a po úpravách, doporučuje se
archivovat výsledky hodnocení. Neobvyklé systémové podmínky zkreslují výsledky.
Například by se neměl jako zkušební volit den, kdy je velký provoz dávkového
zpracování. Vyšly by neúměrně nízké výkonové hodnoty. Také není vhodné zadávat
stále stejné podmínky testování. Na opakované dotazy přijdou neobvykle vysoké
výkonové hodnoty, protože výsledek dotazu je uložen v paměti a nereaguje
správně na skutečný požadavek na vstup/výstup.
Aplikace a platforma, na které jsou provozovány, musejí být navzájem dobře
sladěny a správně konfigurovány, aby nevznikaly zbytečné výkonnostní problémy.
Procesor a operační paměť
Pro vyhodnocení celkového výkonu se musí posoudit všechny složky systému jako
celek. Obecně sice platí, že "čím rychlejší, tím lepší", avšak zvýšený výkon
nových procesorů se v mnoha případech ani neprojeví. Orientační testování
(benchmarks) může být zavádějící, když se neopírá o reálné provozní podmínky.
Větší operační paměť nebo rychlejší řadič diskové jednotky často pomohou víc
než rychlejší procesor. Rovněž tak zvyšování výkonu instalací více procesorů
může být neúčinné, když nejsou navzájem sladěny architektury systému a aplikací.
Funkční multiprocesing znamená, že každému procesoru jsou přiřazeny určité
úkoly. Další přidané procesory zvýší výkon jen tehdy, startuje-li současně více
různých procesů. Menší počet dlouhodobých procesů, náročných na zdroje, naopak
vede ke ztrátovým časům nezapojených procesorů a tím limituje zvýšení celkového
výkonu.
Pokud procesory pracují paralelně a rozdělují si úlohy bez ohledu na přiřazení
k procesu, je potenciál zvýšení výkonnosti vysoký. SMP (Symmetrical Multi
Processing) je řízen nízkoúrovňovým softwarem, integrovaným v operačním
systému. I když je to z hlediska hardwaru možné, nestačí pouze nainstalovat
další procesory a vhodný SMP software. Aby SMP fungoval, musí být patřičně
naprogramovány i samotné procesy. Všechny moderní systémy řízení bází dat to
dokáží.
Pevné disky a RAID
Potřebuje-li aplikace data, která jsou na stejné diskové jednotce, lze je
obvykle načítat jen postupně. Jsou-li však data uložena na různých diskových
jednotkách, je možno je snímat paralelně, a proto rychleji. Opatření, která
jsou k tomu nutná, by správci systému měli plánovat velmi opatrně. Databázové
buňky a jejich indexy obvykle soutěží o současný přístup, a proto jejich
rozdělení na různé stroje umožňuje rychlejší přístupové doby.
Technika RAID (Redundant Array of Inexpensive Disks) propojuje logicky několik
pevných disků, takže představují dohromady jednu velkokapacitní paměť. Tato
technologie sice zvyšuje bezpečnost dat, ale ovlivňuje také výkon. U některých
operačních systémů jsou jednotlivé aktivity pevných disků samostatně přístupné,
u jiných však zařízení RAID tvoří jediný celek. K systému RAID patří vlastní
software, který sleduje, na kterém pevném disku jsou data zapsána a odkud se
mají načítat.
RAID je však jen obecný nadřazený pojem, konkretizují ho růz-né úrovně. Pojem
úroveň (level) je však zavádějící tím, že neznamená funkční odstupňování, nýbrž
vyjadřuje jen historicky podmíněné číslování. Úrovně RAID (RAID-Levels),
zajišťující větší bezpečnost dat jejich několikanásobným uložením, mohou
výkonnost zhoršovat, protože ukládání do paměti probíhá více než jednou. Časové
zdržení se může u jednotlivých postupů zdát nepatrné. Při ukládání velkého
objemu dat však může dojít k enormnímu zdržení. Postupy čtení probíhají o něco
rychleji, protože hledaná data jsou uložena několikrát a najdou se snadněji.
RAID je z hlediska výkonnosti považován za opatření jemného ladění.
Činnosti spojené s pevným diskem nelze přesně předvídat. Pozorování skutečných
činností za delší časové období však usnadňuje prognózu. I když správce dokáže
přístupy k pevným diskům omezit na minimum, měl by je dále kontrolovat a podle
potřeby upravovat, protože pracovní postupy, objemy dat a jejich paměťová místa
podléhají neustálým změnám.
Ladění báze dat
Každý systém řízení báze dat nabízí celou řadu konfiguračních a seřizovacích
parametrů. Nejdůležitější je parametr "kapacita paměti". Ta by měla být taková,
aby pro bázi dat byl k dispozici dostatek paměťových míst, zároveň však zbylo
dost místa pro efektivní průběh jiných procesů. Mimo to musí zůstat k dispozici
dostatek paměti pro operační systém, zálohování, síťové služby a podobně, a to
i když báze dat je jedinou provozovanou aplikací.
Většina databázových systémů zahrnuje také mechanismus pro optimalizaci
přístupu k databázi. K tomu účelu se aktuální uspořádání dat odečítá z tabulky.
Po rozsáhlém zavádění nebo odstraňování dat může být nutné tyto informace ručně
aktualizovat. Správce systému by měl bázi dat pravidelně obnovovat, data a
zejména indexy defragmentovat.
Modifikované parametry báze dat nemusí vždy přinést očekávané zlepšení, někdy
jsou doprovázeny i nežádoucími vedlejšími důsledky. Souvisí to se vzájemným
působením různých faktorů, které jsou změnou parametrů ovlivňovány. Proto by
správce měl provádět změny jen v izolovaném prostředí systému a ověřit si
jejich účinky na celý systém, než je předá do reálného provozu.
Zvyšovat účinnost aplikací
Správný hardware i síťový a databázový software jsou pouze základnou pro
vlastní práci. Největší zvýšení výkonnosti lze docílit u aplikací. Zde se
uplatňuje pravidlo 80/20, t. j. že 80 % problémů vzniká ve 20 % aplikací.
Zásadně má správce systému několik výchozích bodů k optimalizaci výkonnosti
aplikací: Měl by prověřovat účinnost komplexních a nejčastěji používaných
příkazů SQL, zejména takových, které zahrnují tzv. "spojení" a "sjednocení". Ne
všechna spouštění báze dat jsou nutná, některá je možno použít úsporněji nebo
je vynechat. Povely "truncate" a podobné jsou výhodnější než ruční mazání,
jedná-li se o velká množství dat. Doporučuje se archivovat data, která jsou jen
málokdy zapotřebí. Je-li přístup k indexům často spojen také s přístupem k
datům, může být užitečné seskupování (clustering) indexů a odpovídajících dat
ve stejném paměťovém bloku.
Ještě poznámka k pravidlu 80/20: vypátrat těch 20 % problémových aplikací je
úkolem nástrojů pro monitorování výkonnosti, kterými toto krátké pojednání
určené nejen správcům firemních sítí také začalo. Na výsledku pak závisí, jakým
způsobem lze v daném případě docílit zrychlení.

9 1035 / ijan

Typy pro okamžité zvýšení výkonu
Aktivní systémové soubory, jako např. swapovací, by měly běžet na strojích s
nejvyšší rychlostí, odděleně od ostatních aktivních souborů.
Silně zatížené tabulky by se měly rozdělit na více zařízení.
Aktivní uživatelské soubory umístit tak, aby se nedostaly do konfliktu s výše
uvedenými opatřeními.
Pasivní soubory, t.j. archivované soubory nebo soubory referenčních bází dat a
event. i programy, mohou být umístěny kdekoliv.
Protokolové soubory (log files) by se měly pokud možno oddělit od dat a indexů.
Při pochybnostech je přijatelným kompromisem jejich uložení spíše v indexovém
než v datovém zařízení.

Ladění aplikací
Při vytváření indexů pro tabulky brát v úvahu, že hromadné vkládání dat je méně
efektivní, je-li tabulka opatřena indexem.
Mazat (drop) a regenerovat (rebuild) indexy během obsáhlých postupů zavádění a
vyjímání.
Používat programy pro hromadné zavádění místo ručního vkládání.
Při rozsáhlých dotazech se často posílají klientovi velká množství dat k
dalšímu zpracování. Když však i tyto pracovní postupy proběhnou na serveru a
klientovi se pošle jen konečný výsledek, sníží se tím podstatně provoz v síti.
Časté dávkové zpracování snižuje datový provoz nechat dávkové zpracování
proběhnout v noci.
Přezkoušet strategii blokování (table locking, page locking, row locking, lock
for update atd.).
Užívat systém inteligentně: často se zadává dotaz na podstatně více dat, než
kolik by jich bylo skutečně zapotřebí. Dotaz omezený na podstatná data snižuje
zatížení serveru a celé sítě.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.