Programovanie

Nájdite a opravte 15 úzkych miest s výkonom

„Úzke miesto“ je úžasne popisný výraz. Opisuje umelé obmedzenie nejakej formy komunikácie, interakcie alebo prenosu informácií. A vedie človeka k presvedčeniu, že nejaká magická kombinácia šťastia, peňazí a vynaliezavosti môže toto úzke miesto rozbiť a nechať plynúť všetky dobré veci.

Problémom s prekážkami vo výkone je, že je ťažké ich identifikovať. Je to CPU? Sieť? Neohrabaný kúsok kódu? Najzrejmejší vinník je často v skutočnosti na konci niečoho väčšieho a mystifikujúcejšieho. A keď hádanky o výkone zostanú nevyriešené, vedenie IT sa môže stretnúť s Hobsonovou voľbou medzi priznaním nevedomosti a vymýšľaním výhovoriek.

Rovnako ako pri lekárskych diagnózach alebo pri detektívnych prácach našťastie pomáhajú skúsenosti. Na základe rokov odpaľovania a experimentovania sme zhromaždili 15 najpravdepodobnejších ochorení - a navrhli sme nápravné opatrenia - ktoré pomôžu vašej prevádzke IT vystopovať a vyriešiť problémy s výkonom.

Niektoré z týchto úzkych miest sú zreteľnejšie ako iné. S najväčšou pravdepodobnosťou máte čo povedať o niektorých svojich záludných spojleroch (a radi by sme si o nich vypočuli vaše príbehy). Ale identifikáciou bežných zabijakov rýchlosti naprieč IT disciplínami dúfame, že naštartujete svoju snahu o vytvorenie najvýkonnejšej infraštruktúry, ktorú vaše zdroje umožnia.

Č. 1: Pravdepodobne to nie sú servery

Vylepšenia servera slúžili na dosiahnutie všetkých rozdielov, a preto dnes pretrváva stará správa „Keď zlyhajú iné možnosti, hodí na to viac hardvéru“. V niektorých prípadoch to stále platí. Koľko z IT je však skutočne také náročné na výpočty? Spravidla môžete ušetriť veľa času a peňazí otočením svojej chlpatej očnej bulvy od serverového hardvéru. Spodná časť serverového spektra má výkon viac ako dosť na zvládnutie každodenných úloh.

Tu je jeden konkrétny príklad. V sieti s viac ako 125 používateľmi sa zdalo, že starší radič domény so systémom Windows je zrelý na výmenu. Tento server pôvodne fungoval na systéme Windows 2000 Server a pred časom bol inovovaný na Windows Server 2003, hardvér však zostal nezmenený. Toto zariadenie HP ML330 s procesorom 1 GHz a 128 MB pamäte RAM fungovalo ako radič domény služby Active Directory, ktorý nesie všetky role služby AD FSMO, má spustené služby DHCP a DNS a je tiež spustený IAS (Internet Authentication Services).

Melasa, že? V skutočnosti to urobilo dobre. Jeho náhradou bol HP DL360 G4 s procesorom 3Ghz, 1 GB RAM a zrkadlovými 72 GB SCSI diskami. Pri prenose všetkých týchto služieb nespustí takmer nijaké zaťaženie - a výkonnostný rozdiel je nepostrehnuteľný.

Je ľahké identifikovať aplikácie, ktoré pojedia celý váš procesor a pamäť, ale bývajú dosť špecializované. Skoro všetko urobí skromná komoditná krabica.

Č. 2: Urýchlite tieto dotazy

Môžete vytvoriť najšikovnejšiu aplikáciu na svete, ale ak prístup k databázovým serverom typu back-end vytvorí úzke miesto, vaši koncoví používatelia alebo zákazníci nebudú spokojní. Takže dolaďte tieto databázové dotazy a maximalizujte výkon.

Tri základné opatrenia vám môžu pomôcť zvýšiť výkonnosť dotazov. Po prvé, väčšina databázových produktov obsahuje nástroje (napríklad DB2 UDB for Visualeries iSeries 'Visual Explain), ktoré môžu počas vývoja rozobrať váš dotaz a poskytnúť spätnú väzbu o syntaxi a približnom načasovaní rôznych častí príkazov SQL. Pomocou týchto informácií vyhľadajte najdlhšie časti dotazu a rozdeľte ich ďalej, aby ste zistili, ako by ste mohli skrátiť čas vykonania. Niektoré databázové produkty tiež zahŕňajú nástroje na poradenstvo v oblasti výkonu, ako je napríklad automatický diagnostický monitor Oracle, ktorý poskytuje odporúčania (napríklad navrhnutie vytvorenia nového indexu) na urýchlenie dotazov.

Ďalej zapnite nástroje na sledovanie databázy na pracovnom serveri. Ak vo vašej databáze chýba podpora pri monitorovaní, môžete použiť produkt na monitorovanie od iného výrobcu, napríklad NetVigil od spoločnosti Fidelia. Ak sú monitory povolené, generujte prenos proti databázovému serveru pomocou skriptov na testovanie zaťaženia. Preskúmajte zhromaždené údaje, aby ste zistili, ako vyzerali vaše dotazy pri načítaní; tieto informácie vás môžu viesť k ďalšiemu vylepšeniu dopytu.

Ak máte dostatok serverových prostriedkov na to, aby ste pomerne blízko napodobnili svoje produkčné prostredie zmiešaného pracovného zaťaženia, môžete vykonať tretie kolo ladenia dotazov pomocou nástroja na testovanie záťaže, napríklad OpenSTA, plus monitorovanie databázy, aby ste zistili, ako fungujú vaše dotazy spolu s inými aplikáciami, ktoré zasiahnu databázy.

Keď sa zmenia podmienky databázy - s nárastom objemu, odstránením záznamov atď., Pokračujte v testovaní a ladení. Často to stojí za námahu.

Č. 3: Aké náklady, ochrana pred vírusmi?

Ochrana pred vírusmi na kritických serveroch je základnou požiadavkou, najmä pre servery Windows. Dopad však môže byť bolestivý. Niektoré antivírusové programy sú vtieravejšie ako iné a môžu výrazne znížiť výkon servera.

Pokúste sa vykonať testy výkonu so spusteným antivírusovým programom alebo bez neho, aby ste určili vplyv. Ak uvidíte výrazné zlepšenie bez skenera, je čas hľadať iného dodávateľa. Skontrolujte tiež konkrétne funkcie. Zakážte skenovanie v reálnom čase a dosť často zvýšite výkon.

Bez ohľadu na to, ako dobre je napísaná vaša obchodná logika, pri nasadení na strednú vrstvu budete musieť vyladiť behové prostredie aplikačného servera, aby ste maximalizovali výkon.

Rovnako ako vinobranie so zosilňovačmi pre vylepšenie kvality zvuku, aj aplikačné servery od výrobcov ako BEA, IBM a Oracle poskytujú závratnú sadu ovládacích prvkov. Trik spočíva v otočení gombíkov správnym smerom, v závislosti od atribútov vašej aplikácie.

Č. 4: Maximalizácia strednej vrstvy

Bez ohľadu na to, ako dobre je napísaná vaša obchodná logika, pri nasadení na strednú vrstvu budete musieť vyladiť behové prostredie aplikačného servera, aby ste maximalizovali výkon.

Rovnako ako vinobranie so zosilňovačmi pre vylepšenie kvality zvuku, aj aplikačné servery od výrobcov ako BEA, IBM a Oracle poskytujú závratnú sadu ovládacích prvkov. Trik spočíva v otočení gombíkov správnym smerom, v závislosti od atribútov vašej aplikácie.

Napríklad ak je vaša aplikácia ťažká na servlet, budete chcieť povoliť ukladanie do servletov. Rovnako, ak vaša aplikácia používa na podporu veľkej užívateľskej základne veľa príkazov SQL, budete chcieť povoliť ukladanie do pamäte pripravených príkazov a nastaviť maximálnu veľkosť medzipamäte, aby bola dostatočne veľká na to, aby podporovala zamýšľané pracovné zaťaženie.

Jednou z hlavných oblastí, kde môže ladenie výkonu skutočne pomôcť, je fond databázových pripojení. Nastavte minimálne alebo maximálne pripojenie na príliš nízku úroveň a určite vytvoríte úzke miesto. Nastavte ich príliš vysoko a pravdepodobne uvidíte spomalenie v dôsledku pridanej réžie potrebnej na udržanie väčšieho fondu pripojení.

Ak poznáte zamýšľané pracovné zaťaženie, vylaďte runtime aplikačného servera zapnutím nástrojov na sledovanie výkonu, ako je IBM Tivoli Performance Viewer pre WebSphere, na pracovnom aplikačnom serveri. Pomocou nástroja na generovanie záťaže vygenerujte požadované množstvo záťaže, potom uložte výsledky monitorovania a prehrajte ich, aby ste analyzovali, ktoré gombíky je potrebné upraviť.

Keď ste vo výrobe, je dobré zapnúť pasívne monitorovanie s nízkym režijným podielom, aby ste mali prehľad o dobe behu. Ak sa vaše pracovné zaťaženie časom zmení, mali by ste vykonať novú kontrolu výkonnosti.

Č. 5: Optimalizujte sieťové pripojenie

Väčšina podnikových serverov na strednej úrovni má teraz dual gigabitové sieťové karty - ale väčšina z nich nepoužíva druhý kanál. Ceny gigabitových prepínačov navyše úplne poklesli. Vďaka prepojeniu na váš súborový server rýchlosťou 120 Mb / s môže niekoľko 100-megabitových klientov dosiahnuť bezdrôtový prístup k súborom súčasne.

Aj bez gigabitového prepínania by malo byť spojenie NIC základom. Spojenie dvoch sieťových kariet vám v najjednoduchšom prípade poskytne nadbytočnosť, ale pridajte vyváženie zaťaženia prenosu a môžete efektívne zdvojnásobiť šírku odchádzajúceho pásma. Rovnaký efekt na prichádzajúcu komunikáciu bude mať použitie spojenia s asistenciou prepínača. Takmer každý hlavný predajca serverov ponúka ovládače združovania NIC - a existujú aj nástroje tretích strán. Je to veľká a lacná podpora šírky pásma.

6: Ukončenie činnosti vašich webových serverov

Existuje naozaj toľko toho, čo môžete urobiť pre vyladenie webového servera a maximalizáciu výkonu? V skutočnosti existuje - hlavne úpravou niekoľkých kritických nastavení tak, aby zodpovedali očakávanej produkčnej prevádzke.

Pre webové servery, ktoré sú už v produkcii, začnite zhromažďovaním štatistík webového servera v reálnom čase (väčšina hlavných webových serverov má túto funkciu zabudovanú). Potom prejdite na fázovanie, aby ste určili, ktoré parametre, ak existujú, je potrebné upraviť.

Aktivujte nástroje na sledovanie výkonu webového servera na pracovnom serveri. Vykonajte test zaťaženia a skontrolujte príslušné parametre, ako napríklad čas odozvy, odoslané a prijaté bajty a počet požiadaviek a odpovedí.

Medzi kľúčové parametre, ktoré budete chcieť vyladiť v závislosti od objemu prenosu, patria ukladanie do pamäte cache, vytváranie vlákien a nastavenie pripojenia.

Povoliť ukladanie do pamäte cache pre často používaný obsah; niektoré webové servery vám umožňujú dynamicky ukladať súbory do vyrovnávacej pamäte na základe používania, zatiaľ čo iné požadujú, aby ste určili, čo sa bude ukladať do pamäte cache. Skontrolujte, či je vaša maximálna veľkosť medzipamäte dostatočná pre prenos, ktorý očakávate. A ak váš webový server podporuje akceleráciu vyrovnávacej pamäte, povoľte to tiež.

Pre nastavenia vlákien a pripojenia nastavte minimá a maximá v súlade s očakávaným pracovným zaťažením. Pre pripojenia budete tiež musieť definovať maximálny počet požiadaviek na pripojenie a nastavenie časového limitu pripojenia. Nenastavujte príliš malú ani príliš veľkú hodnotu, mohlo by dôjsť k spomaleniu.

Č. 7: Beda WAN

Myslíte si, že potrebujete získať späť šírku pásma WAN? Môžete ľahko minúť balík na zariadenia na formovanie prenosu alebo na ukladanie do medzipamäti strojov v pokuse o opätovné využitie šírky pásma WAN. Ale čo ak to nie je fajka?

Prvá vec prvá: Predtým, ako si kúpite čokoľvek, získajte solídnu predstavu o tom, čo prevádzka prechádza cez WAN. Nástroje pre sieťovú analýzu, ako napríklad Ethereal, ntop, Network Instrument’s Observer alebo WildPacket’s EtherPeek NX, vám môžu poskytnúť nový pohľad na to, čo sa v skutočnosti deje.

Možno zistíte, že časy replikácie vašej služby Active Directory sú nastavené príliš nízko a jednoduchá konfigurácia dlhších intervalov replikácie vám môže počas pracovného dňa poskytnúť dych. Mapujú niektorí používatelia na vzdialených miestach zdieľanie na nesprávne servery a sťahujú veľké súbory po sieti WAN bez toho, aby si to uvedomovali? Stále kolujú pozostatky siete IPX s dlhým zdravotným postihnutím? Niektoré problémy so sieťou WAN vedú k nesprávnej konfigurácii aplikácií, keď je prevádzka smerovaná cez sieť WAN, keď mala zostať lokálna. Pravidelné správy o prevádzkových modeloch WAN ušetria peniaze a bolesti hlavy.

Č. 8: Poďme sa pekne hrať

Aplikácie, webové služby a webové stránky z viacerých oddelení v rámci podniku až príliš často súťažia o zdroje servera. Aj keď môže byť každá z týchto súčastí správne vyladená, môže mať aplikácia z iného oddelenia, ktoré tiež používa rovnaké produkčné klastre, zle vyladený dotaz alebo iný problém, ktorý zas ovplyvňuje vašich používateľov alebo zákazníkov.

V blízkej budúcnosti môžete iba pracovať so správcami systému a s oddelením, ktoré má problém s výkonom, aby ste dosiahli rozlíšenie pre svojich používateľov alebo zákazníkov. Z dlhodobého hľadiska vytvorte komunitu vo všetkých oddeleniach, ktoré používajú produkčné klastre, kde sú nasadené vaše objekty. Pracujte naprieč tímami a zaistite, aby existovalo primerané financovanie fázovacieho prostredia, ktoré skutočne reprezentuje produkčné prostredie zmiešaného pracovného zaťaženia. V konečnom dôsledku budete chcieť vyvinúť sériu štandardov, ktoré možno použiť na overenie výkonnosti zmiešaného pracovného zaťaženia v pracovnom prostredí.

Č. 9: Ukladanie do pamäte cache, tvarovanie, obmedzovanie, ach jaj!

Ak je vaša WAN skutočne poddimenzovaná - a vy si nemôžete dovoliť sieť diaľkového prenosu snímok - tvarovanie a ukladanie do vyrovnávacej pamäte môžu pomôcť odcudziť potrubie.

Konfigurácie ovplyvňujúce dopravu sú viac umením ako vedou. Stanovenie priorít pre aplikácie je často viac politické ako technické, ale môže mať obrovský vplyv na vnímaný výkon siete.

Ukladanie do pamäte cache je úplne iná šelma. Vyžaduje si to menej práce ako formovanie prenosu, ale vplyv bude pravdepodobne menší. Cachingové motory ukladajú a poskytujú miestne kópie bežne prístupných údajov, aby sa znížila prevádzka WAN. Nevýhodou je, že dynamický obsah sa nedá skutočne uložiť do medzipamäte, takže e-mail nebude mať rovnaký nárast výkonu.

Č. 10: Prediktívne opravy

Do práce prídete v pondelok iba preto, aby ste sa dozvedeli, že je zavesených veľa počítačov alebo že výkon kritickej aplikácie spomalil na indexové prehľadávanie. Po prešetrení zistíte, že príčinou je náplasť, ktorá bola použitá cez víkend.

Preto potrebujete nástroje, ktoré podporujú vrátenie opráv. Ešte lepšie je zahrnúť testovanie opráv do svojej stratégie správy opráv. Najskôr musíte pravidelne inventarizovať aplikácie a technológie, ktoré práve hráte na počítačoch a serveroch. Väčšina nástrojov na správu systémov, napríklad SMS od spoločnosti Microsoft, je schopná automaticky inventarizovať.

Ďalej replikujte aplikácie a technológie do fázovacieho prostredia. Ak váš operačný systém a softvér infraštruktúry neobsahujú nástroje na testovanie opráv, zaobstarajte si nástroj tretej strany, napríklad FLEXnet AdminStudio alebo Wise Package Studio.

Prípadne môžete napísať niekoľko skriptov, pomocou ktorých budete môcť funkčne precvičovať platformu alebo technológiu s najnovšími aktualizovanými záplatami. Tento scenár budete musieť opakovať (a upravovať skripty) pri príchode nových opráv a pri zmenách softvéru.

$config[zx-auto] not found$config[zx-overlay] not found