Programiranje

Poiščite in odpravite 15 ozkih grl

"Ozko grlo" je čudovito opisen izraz. Opisuje umetno omejitev neke oblike komunikacije, interakcije ali prenosa informacij. In vodi k prepričanju, da lahko neka čarobna kombinacija sreče, denarja in iznajdljivosti razbije to ozko grlo in pusti vse dobre stvari.

Težava pri ozkih grlih pri uspešnosti je v tem, da jih je težko prepoznati. Je to CPU? Omrežje? Nespreten del kode? Pogosto je najbolj očiten krivec dejansko nekaj večjega in bolj skrivnostnega. In ko uganke glede uspešnosti ostanejo nerazrešene, se lahko vodstvo IT znajde pred Hobsonovo izbiro med priznanjem nevednosti in izmišljevanjem izgovorov.

Na srečo izkušnje pomagajo tako kot pri medicinskih diagnozah ali detektivskih opravilih. Na podlagi naših let slepovanja in eksperimentiranja smo zbrali 15 najverjetnejših bolezni - in predlagali rešitve -, da bomo vašemu IT-ju pomagali izslediti in rešiti težave z zmogljivostjo.

Nekatera od teh ozkih grl so bolj očitna kot druga. Najverjetneje imate kaj povedati o nekaterih svojih zahrbtnih spojlerjih (in radi bi slišali vaše zgodbe o njih). Upamo pa, da bomo z identifikacijo običajnih morilcev hitrosti v vseh IT-disciplinah začeli prizadevati za ustvarjanje najučinkovitejše infrastrukture, ki jo bodo vaši viri omogočali.

1.: Verjetno niso strežniki

Nadgradnje strežnikov so bile pomembne, zato stara žaga "Ko vse drugo ne uspe, vrzite več strojne opreme" vztraja še danes. To v nekaterih primerih še vedno drži. Koliko IT pa je res tako računalniško intenzivnih? Na splošno lahko prihranite veliko časa in denarja, če dlakavo zrklo obrnete stran od strežniške strojne opreme. Spodnji del strežniškega spektra ima več kot dovolj konjskih moči za vsakodnevne naloge.

Tu je en konkreten primer. V mreži z več kot 125 uporabniki je bilo videti, da je starejši krmilnik domen Windows zrel za zamenjavo. Ta strežnik je prvotno vodil Windows 2000 Server in je bil pred časom nadgrajen na Windows Server 2003, vendar je strojna oprema ostala nespremenjena. Ta HP ML330 z 1 GHz CPU in 128 MB RAM-a je deloval kot krmilnik domene Active Directory, ki je imel vse vloge AD FSMO, poganjal je storitve DHCP in DNS, pa tudi IAS (Internet Authentication Services).

Melasa, kajne? Pravzaprav je delo pravzaprav opravilo v redu. Zamenjal ga je HP DL360 G4 s 3 GHz CPU, 1 GB RAM-a in zrcaljenimi pogoni SCSI z zmogljivostjo 72 GB. Z vsemi temi storitvami se skorajda ne obremeni - in razlika v zmogljivosti je neopazna.

Preprosto je prepoznati programe, ki vam bodo pojedli ves procesor in pomnilnik, vendar so ponavadi precej specializirani. Za skoraj vse ostalo bo skromna blagajna naredila trik.

Št. 2: pospešite te poizvedbe

Ustvarite lahko najprijaznejšo aplikacijo na svetu, če pa dostop do zalednih strežnikov baz podatkov ustvari ozko grlo, vaši končni uporabniki ali stranke ne bodo zadovoljni. Torej natančno nastavite te poizvedbe v zbirki podatkov in povečajte učinkovitost.

Trije osnovni ukrepi vam lahko pomagajo izboljšati uspešnost poizvedbe. Prvič, večina izdelkov baz podatkov vključuje orodja (na primer DB2 UDB za iSeries 'Visual Explain), ki lahko med razvojem razčlenijo vašo poizvedbo in zagotovijo povratne informacije o sintaksi in približnem času različnih odsekov stavkov SQL. S pomočjo teh informacij poiščite najdaljše dele poizvedbe in jih razčlenite naprej, da vidite, kako lahko skrajšate čas izvedbe. Nekateri izdelki zbirk podatkov vključujejo tudi orodja za svetovanje glede učinkovitosti, kot je Oracle's Automatic Database Diagnostic Monitor, ki ponujajo priporočila (na primer predlaganje, da ustvarite nov indeks) za pospešitev poizvedb.

Nato na vmesnem strežniku vklopite orodja za spremljanje baze podatkov. Če vaša baza podatkov nima podpore za spremljanje, lahko uporabite neodvisen izdelek za spremljanje, na primer Fidelijin NetVigil. Z omogočenimi monitorji ustvarite promet proti strežniku baze podatkov s pomočjo skriptov za preskušanje obremenitve. Preglejte zbrane podatke, da vidite, kako uspešne so bile vaše poizvedbe med obremenitvijo; te informacije vas lahko pripeljejo do nadaljnjih sprememb.

Če imate dovolj strežniških virov, da dokaj natančno posnemate mešano okolje za izdelavo delovne obremenitve, lahko izvedete tretji krog uglaševanja poizvedb z orodjem za testiranje obremenitve, kot je OpenSTA, in spremljanjem baze podatkov, da vidite, kako uspešne so vaše poizvedbe skupaj z drugimi aplikacijami, ki so zadele zbirka podatkov.

Ko se pogoji baze podatkov spreminjajo - z rastjo obsega, brisanjem zapisov itd., Nadaljujte s testiranjem in nastavljanjem. Pogosto se splača potruditi.

3: Kakšna cena, zaščita pred virusi?

Zaščita pred virusi na kritičnih strežnikih je osnovna zahteva, zlasti za strežnike Windows. Vpliv pa je lahko boleč. Nekateri skenerji virusov so bolj vsiljivi kot drugi in lahko znatno zmanjšajo delovanje strežnika.

Poskusite izvesti teste učinkovitosti z in brez zagnanega optičnega bralnika, da ugotovite vpliv. Če opazite opazne izboljšave brez optičnega bralnika, je čas, da poiščete drugega prodajalca. Preverite tudi posebne funkcije. Onemogočite skeniranje v realnem času in pogosto boste povečali zmogljivost.

Ne glede na to, kako dobro je napisana vaša poslovna logika, ko jo namestite na srednji nivo, boste morali prilagoditi izvajalno okolje aplikacijskega strežnika, da povečate zmogljivost.

Tako kot starodavni stereo s številnimi gumbi za prilagajanje kakovosti zvoka tudi aplikacijski strežniki ponudnikov, kot so BEA, IBM in Oracle, ponujajo vrtoglav nabor kontrol. Trik je v tem, da gumbe obrnete na pravi način, odvisno od lastnosti vaše aplikacije.

Št. 4: maksimiranje srednjega nivoja

Ne glede na to, kako dobro je napisana vaša poslovna logika, boste morali, ko jo namestite na srednji nivo, prilagoditi izvajalno okolje aplikacijskega strežnika, da povečate zmogljivost.

Tako kot starodavni stereo s številnimi gumbi za prilagajanje kakovosti zvoka tudi aplikacijski strežniki ponudnikov, kot so BEA, IBM in Oracle, ponujajo vrtoglav nabor kontrol. Trik je v tem, da gumbe obrnete na pravi način, odvisno od lastnosti vaše aplikacije.

Če je na primer vaša aplikacija težka s strežniki, boste želeli omogočiti predpomnjenje strežniškega programčka. Če vaša aplikacija uporablja veliko stavkov SQL, da podpira veliko bazo uporabnikov, boste želeli omogočiti predpomnjenje pripravljenega stavka in nastaviti največjo velikost predpomnilnika, tako da bo dovolj velik, da podpira predvideno delovno obremenitev.

Eno glavnih področij, na katerem lahko prilagajanje zmogljivosti resnično pomaga, je področje povezave z bazo podatkov. Nastavite najnižjo ali največjo povezavo prenizko in zagotovo boste ustvarili ozko grlo. Nastavite jih previsoko in verjetno boste videli upočasnitev zaradi dodanih dodatnih stroškov, potrebnih za vzdrževanje večjega področja povezav.

Če poznate predvideno delovno obremenitev, nastavite čas izvajanja aplikacijskega strežnika tako, da na odrskem strežniku aplikacij vklopite orodja za spremljanje učinkovitosti, kot je IBM-ov Tivoli Performance Viewer for WebSphere. Z orodjem za ustvarjanje obremenitve ustvarite pričakovano delovno obremenitev, nato shranite rezultate spremljanja in jih predvajajte, da analizirate, katere gumbe je treba prilagoditi.

Ko je v proizvodnji, je dobro vklopiti pasivno spremljanje z nizkimi stroški, da spremljate čas izvajanja. Če se delovna obremenitev sčasoma spremeni, boste želeli opraviti nov pregled uspešnosti.

Št. 5: optimizirajte omrežno povezljivost

Večina srednjih strežnikov za podjetja ima zdaj dvo gigabitne NIC-je, vendar večina od njih ne uporablja druge cevi. Poleg tega so se cene gigabitnih stikal znižale. S povezavo do vašega datotečnega strežnika 120 MB / s lahko številni 100-megabitni odjemalci hkrati dosežejo dostop do datotek z žično hitrostjo.

Tudi brez gigabitnega preklopa bi morala biti vezava NIC glavna. Najenostavnejše povezovanje dveh NIC-jev vam daje odvečnost, vendar dodate izravnavo obremenitve oddaj in lahko učinkovito podvojite pasovno širino odhodnega signala. Uporaba skupinskega vodenja s stikali bo zagotovila enak učinek na vhodni promet. Skoraj vsak večji prodajalec strežnikov ponuja gonilnike za združitev NIC - obstajajo pa tudi pripomočki drugih proizvajalcev. To je velik, poceni povečanje pasovne širine.

6: Likvidiranje vaših spletnih strežnikov

Ali lahko resnično toliko naredite za nastavitev spletnega strežnika in povečanje učinkovitosti? Dejansko obstaja - predvsem s prilagoditvijo peščice kritičnih nastavitev, da se ujemajo s pričakovanim produkcijskim prometom.

Za spletne strežnike, ki so že v izdelavi, začnite z zbiranjem statističnih podatkov o spletnih strežnikih v realnem času (večina glavnih spletnih strežnikov ima vgrajeno to funkcijo). Nato se premaknite na uprizoritev, da ugotovite, katere parametre, če sploh, je treba prilagoditi.

Na pripravljalnem strežniku aktivirajte orodja za spremljanje učinkovitosti spletnega strežnika. Izvedite preskus obremenitve in preglejte ustrezne parametre, kot so odzivni čas, poslani in prejeti bajti ter število zahtev in odgovorov.

Ključni parametri, ki jih boste želeli nastaviti glede na obseg prometa, vključujejo nastavitve predpomnjenja, navojev in povezave.

Omogoči predpomnjenje za pogosto uporabljeno vsebino; nekateri spletni strežniki omogočajo dinamično predpomnjenje datotek glede na uporabo, drugi pa zahtevajo, da določite, kaj bo predpomnjeno. Prepričajte se, da vaša največja velikost predpomnilnika zadostuje za pričakovani promet. Če vaš spletni strežnik podpira pospeševanje predpomnilnika, omogočite tudi to.

Za nastavitve navojev in povezave nastavite minimume in maksimume v skladu s pričakovano delovno obremenitvijo. Za povezave boste morali določiti tudi največje število zahtev na povezavo in nastavitev časovne omejitve povezave. Ne nastavite nobene od teh vrednosti premajhne ali prevelike, ker lahko pride do upočasnitve.

Št. 7: gorje WAN-a

Mislite, da morate povrniti pasovno širino WAN? Paket lahko enostavno porabite za naprave za oblikovanje prometa ali predpomnilnike, da poskusite zaustaviti izkoriščanje pasovne širine WAN. Kaj pa, če ni cev?

Najprej najprej: Preden kar koli kupite, si trdno predstavite, kakšen promet prečka WAN. Orodja za analizo omrežja, kot so Ethereal, ntop, Network Instrument’s Observer ali WildPacket's EtherPeek NX, vam lahko na novo pokažejo, kaj je v resnici na žici.

Morda boste ugotovili, da so časi kopiranja za vaš imenik Active Directory postavljeni prenizko in preprosto konfiguriranje daljših intervalov kopiranja vam lahko pomaga med dihanjem med delovnikom. Ali nekateri uporabniki na oddaljenih lokacijah preslikajo skupne rabe na napačne strežnike in vlečejo velike datoteke prek omrežja WAN, ne da bi se tega zavedali? Ali ostanki dolgo onemogočenega omrežja IPX še vedno plavajo naokoli? Nekatere težave z omrežjem WAN se nanašajo na napačno konfiguracijo aplikacije, kjer je promet usmerjen prek omrežja WAN, ko bi moral ostati lokalni. Redna poročila o vzorcih prometa WAN bodo prihranila denar in preglavice.

Št. 8: Igrajmo se lepo

Aplikacije, spletne storitve in spletna mesta iz več oddelkov v podjetju prepogosto tekmujejo za strežniške vire. Čeprav je lahko vsaka od teh komponent sama po sebi dobro nastavljena, ima lahko aplikacija drugega oddelka, ki prav tako uporablja iste proizvodne grozde, slabo nastavljeno poizvedbo ali kakšno drugo težavo, kar posledično vpliva na vaše uporabnike ali stranke.

V kratkem lahko vse, kar lahko storite, je, da s svojimi sistemskimi skrbniki in oddelkom, ki ima težave z zmogljivostjo, poiščete rešitev za svoje uporabnike ali stranke. Dolgoročno ustvarite skupnost v vseh oddelkih, ki uporabljajo proizvodne grozde, v katere so postavljeni vaši predmeti. Delajte v skupinah, da zagotovite zadostna sredstva za uprizoritveno okolje, ki resnično predstavlja mešano delovno okolje. Na koncu boste želeli razviti vrsto primerjalnih preizkusov, s katerimi lahko preverite mešano delovno obremenitev v odrskem okolju.

9: Predpomnjenje, oblikovanje, omejevanje, oh moj!

Če je vaš WAN resnično premajhen - in si ne morete privoščiti omrežja za prenos relejev na dolge razdalje, lahko oblikovanje prometa in predpomnjenje pomagata pri odmašitvi cevi.

Konfiguracije oblikovanja prometa so bolj umetnost kot znanost. Prednostno razvrščanje aplikacij je pogosto bolj politično kot tehnično, vendar ima lahko izjemne učinke na zaznano delovanje omrežja.

Keširanje je popolnoma drugačna zver. Zahteva manj dela kot oblikovanje prometa, vendar bo vpliv verjetno manjši. Mehanizmi za predpomnjenje shranjujejo in strežejo lokalne kopije pogosto dostopnih podatkov za zmanjšanje prometa WAN. Slaba stran je, da dinamične vsebine ni mogoče zares shraniti v predpomnilnik, zato e-pošta ne bo imela enake uspešnosti.

Št. 10: napovedno popravljanje

V službo pridete v ponedeljek šele, da ugotovite, da je kup namiznih računalnikov obešen ali da je delovanje kritične aplikacije upočasnilo svoje iskanje. Po preiskavi ugotovite, da je vzrok obliž, ki je bil nameščen čez vikend.

Zato potrebujete orodja, ki podpirajo povratne popravke. Še bolje, vključite testiranje popravkov kot del strategije upravljanja popravkov. Najprej morate redno popisovati aplikacije in tehnologije, ki se igrajo na namizjih in strežnikih. Večina orodij za upravljanje sistemov, kot je Microsoftov SMS, je zmožna samodejno narediti inventar za vas.

Nato aplikacije in tehnologije ponovite v uprizoritveno okolje. Če vaš operacijski sistem in programska oprema za infrastrukturo ne vključuje orodij za preizkušanje popravkov, si priskrbite neodvisno orodje, kot je FLEXnet AdminStudio ali Wise Package Studio.

Lahko pa napišete nekaj skriptov za funkcionalno izvajanje platforme ali tehnologije z najnovejšimi popravki v igri. Ta scenarij boste morali ponoviti (in prilagoditi skripte), ko bodo prispeli novi popravki in ko bodo narejene spremembe programske opreme.

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