Ohjelmointi

Etsi ja korjaa 15 suorituskyvyn pullonkaulaa

"Pullonkaula" on ihanan kuvaava termi. Siinä kuvataan keinotekoinen rajoitus jollekin viestinnän, vuorovaikutuksen tai tiedonsiirron muodolle. Ja se saa uskomaan, että jokin maaginen yhdistelmä onnea, rahaa ja kekseliäisyyttä voi murskata pullonkaulan ja antaa kaikkien hyvien asioiden virrata.

Suorituskyvyn pullonkaulojen ongelma on se, että ne voivat olla vaikeita tunnistaa. Onko se CPU? Verkko? Kömpelö koodinpätkä? Usein ilmeisin syyllinen on oikeastaan ​​alavirtaan jostakin suuremmasta ja mystisemmästä. Ja kun suorituskyvyn arvoituksia ei löydy, IT-hallinta voi joutua kohtaamaan Hobsonin valinnan tietämättömyyden tunnustamisen ja tekosyiden välillä.

Onneksi, kuten lääketieteellisten diagnoosien tai etsintätyön kohdalla, kokemus auttaa. Vuosien lopettamisen ja kokeilun pohjalta olemme keränneet 15 todennäköisintä vaivaa - ja ehdotettuja korjaustoimenpiteitä - auttamaan IT-operaatiotasi löytämään ja murtautumaan suorituskykyongelmiin.

Jotkut näistä pullonkauloista ovat ilmeisempiä kuin toiset. Todennäköisesti sinulla on jotain sanottavaa joistakin omasta spoileristasi (ja haluaisimme kuulla tarinasi heistä). Mutta tunnistamalla yhteiset nopeusmurtajat kaikilla IT-aloilla, toivomme voivamme aloittaa pyrkimyksesi luoda mahdollisimman suorituskykyinen infrastruktuuri, jonka resurssit sallivat.

Nro 1: Se ei todennäköisesti ole palvelimia

Palvelinpäivityksillä, joita käytetään kaikin tavoin, syystä vanha saha "Kun kaikki muu epäonnistuu, heitä enemmän laitteistoa" jatkuu tänään. Se on edelleen totta joissakin tapauksissa. Mutta kuinka suuri osa IT: stä on todella niin laskennallista? Yleensä voit säästää paljon aikaa ja rahaa kääntämällä karvainen silmämunasi pois palvelinlaitteistosta. Palvelinspektrin alaosassa on enemmän kuin tarpeeksi hevosvoimaa päivittäisten tehtävien hoitamiseen.

Tässä on yksi konkreettinen esimerkki. Yli 125 käyttäjän verkossa vanhusten Windows-toimialueen ohjain näytti olevan kypsä vaihtamiseen. Tämä palvelin käytti alun perin Windows 2000 Serveria ja päivitettiin Windows Server 2003: ksi jonkin aikaa sitten, mutta laitteisto pysyi muuttumattomana. Tämä HP ML330, jossa oli 1 GHz prosessori ja 128 Mt RAM-muistia, toimi Active Directory -toimialueen ohjaimena, jolla oli kaikki AD FSMO -roolit, DHCP- ja DNS-palvelut sekä IAS (Internet Authentication Services).

Melassi, eikö? Itse asiassa se todella teki työn hienosti. Sen tilalle tuli HP DL360 G4, jossa oli 3Ghz-prosessori, 1 Gt RAM-muistia ja peilattu 72 Gt: n SCSI-asema. Kaikkia näitä palveluja suoritettaessa se kuluttaa tuskin lainkaan kuormitusta - ja suorituskykyero on huomaamaton.

On helppo tunnistaa sovellukset, jotka syövät kaiken suorittimen ja muistin, mutta ne ovat yleensä melko erikoistuneita. Lähes kaikesta muusta nöyrä hyödykelaatikko tekee temppun.

Nro 2: Nopeuta näitä kyselyitä

Voit luoda maailman nifti-sovelluksen, mutta jos pääsy back-end-tietokantapalvelimille luo pullonkaulan, loppukäyttäjät tai asiakkaat eivät ole onnellisia. Joten hienosäädä näitä tietokantakyselyjä ja maksimoi suorituskyky.

Kolme perustoimintoa voivat auttaa sinua parantamaan kyselyn suorituskykyä. Ensinnäkin suurin osa tietokantatuotteista sisältää työkaluja (kuten DB2 UDB for iSeries Visual Explain), jotka voivat jakaa kyselysi kehityksen aikana ja antaa palautetta syntaksista ja SQL-lauseiden eri osien likimääräisestä ajoituksesta. Etsi näiden tietojen avulla kyselyn pisin osat ja jaa ne edelleen, jotta näet kuinka voit lyhentää suoritusaikaa. Jotkut tietokantatuotteet sisältävät myös suorituskykyneuvontatyökaluja, kuten Oraclen automaattisen tietokannan diagnostiikkamonitorin, jotka tarjoavat suosituksia (kuten ehdottaa uuden hakemiston luomista) kyselyjen nopeuttamiseksi.

Ota seuraavaksi käyttöön tietokannan valvontatyökalut vaiheistamispalvelimessa. Voit käyttää kolmannen osapuolen valvontatuotetta, kuten Fidelian NetVigilia, jos tietokannastasi puuttuu valvontatuki. Kun monitorit ovat käytössä, luo liikennettä tietokantapalvelinta vastaan ​​kuormitustestausohjelmilla. Tutki kerättyjä tietoja nähdäksesi, miten kyselysi suoriutuvat kuormitettuna; nämä tiedot saattavat johtaa sinut kyselyn muokkaamiseen edelleen.

Jos sinulla on tarpeeksi palvelinresursseja jäljittelemään sekoitetun työmäärän tuotantoympäristöä melko tarkasti, voit suorittaa kolmannen kyselynhakukierroksen kuormitustestaustyökalulla, kuten OpenSTA, sekä tietokannan seurannalla nähdäksesi, kuinka kyselysi toimivat muiden sovellusten rinnalla tietokanta.

Tietokannan olosuhteiden muuttuessa - volyymin kasvun, tietueiden poistojen ja niin edelleen - jatka testausta ja viritystä. Se on usein vaivan arvoinen.

Nro 3: Mitä kustannuksia virustorjunta maksaa?

Kriittisten palvelinten virussuojaus on perusvaatimus etenkin Windows-palvelimille. Vaikutus voi kuitenkin olla tuskallista. Jotkut virustarkistimet ovat häiritsevämpiä kuin toiset ja voivat heikentää palvelimen suorituskykyä merkittävästi.

Yritä suorittaa suorituskykytestit vaikutuksen määrittämiseksi virustarkistimen kanssa ja ilman sitä. Jos huomaat merkittävän parannuksen ilman skanneria, on aika etsiä toinen myyjä. Tarkista myös erityisominaisuudet. Poista reaaliaikaiset skannaukset käytöstä, ja usein tuoda suorituskykyä.

Ei ole väliä kuinka hyvin kirjoitettu liiketoimintalogiikkasi, kun asennat sen keskitasolle, sinun on viritettävä sovelluspalvelimen ajonaikainen ympäristö maksimoidaksesi suorituskyvyn.

Kuten vintage-stereo, jossa on useita nuppeja äänenlaadun säätämiseksi, BEA: n, IBM: n ja Oraclen kaltaisten toimittajien sovelluspalvelimet toimittavat huimaavan ohjainsarjan. Temppu on kääntää nupit oikealle tielle sovelluksesi ominaisuuksista riippuen.

Nro 4: Keskitason maksimointi

Ei ole väliä kuinka hyvin kirjoitettu liiketoimintalogiikkasi, kun asennat sen keskitasolle, sinun on viritettävä sovelluspalvelimen ajonaikainen ympäristö maksimoidaksesi suorituskyvyn.

Kuten vintage-stereo, jossa on useita nuppeja äänenlaadun säätämiseksi, BEA: n, IBM: n ja Oraclen kaltaisten toimittajien sovelluspalvelimet toimittavat huimaavan ohjainsarjan. Temppu on kääntää nupit oikealle tielle sovelluksesi ominaisuuksista riippuen.

Jos esimerkiksi sovelluksesi on servlet-raskas, sinun on otettava käyttöön servlet-välimuisti. Vastaavasti, jos sovelluksesi käyttää useita SQL-käskyjä suuren käyttäjäkannan tukemiseksi, sinun on otettava käyttöön valmis lausekevälimuisti ja asetettava välimuistin enimmäiskoko niin, että se on riittävän suuri tukemaan aiottua työmäärää.

Yksi tärkeimmistä alueista, jolla suorituskyvyn säätäminen voi todella auttaa, on tietokantayhteysallas. Aseta minimi- tai maksimiliitännät liian matalaksi ja luot varmasti pullonkaulan. Aseta ne liian korkealle ja näet todennäköisesti hidastumisen, joka johtuu lisäkustannuksista, joita tarvitaan suuremman yhteysalueen ylläpitoon.

Jos tiedät suunnitellun työmäärän, viritä sovelluspalvelimen ajonaika kytkemällä suorituskyvyn seurantatyökalut, kuten IBM: n Tivoli Performance Viewer for WebSphere, vaiheistussovelluspalvelimeen. Luo odotettu työmäärä kuormituksen luontityökalulla, tallenna sitten seurantatulokset ja toista ne analysoidaksesi, mitä nuppeja on säädettävä.

Tuotannossa on hyvä ottaa käyttöön matalan yleiskustannuksen passiivinen valvonta, jotta välilehdet pysyvät ajonaikaisina. Jos työmääräsi muuttuu ajan myötä, sinun kannattaa suorittaa uusi suorituskyvyn tarkistus.

Nro 5: Optimoi verkkoyhteydet

Useimmilla keskitason yrityspalvelimilla on nyt kaksi gigabittiä verkkokortteja - mutta suurin osa niistä ei käytä toista putkea. Lisäksi gigabitin vaihtokurssien hinnat ovat laskeneet lattian läpi. 120MBps-linkin avulla tiedostopalvelimeesi useat 100 megabitin asiakkaat voivat saavuttaa langattoman nopeuden tiedostojen pääsyn samanaikaisesti.

Jopa ilman gigabitin vaihtoa, verkkokorttiliitoksen tulisi olla katkottua. Yksinkertaisesti kahden verkkokortin liittäminen antaa sinulle redundanssin, mutta lisää lähetyskuormituksen tasapainottamisen ja voit tehokkaasti kaksinkertaistaa lähtevän kaistanleveyden. Kytkentäavusteisen ryhmittelyn käyttö tuottaa saman vaikutuksen saapuvaan liikenteeseen. Lähes jokainen merkittävä palvelintoimittaja tarjoaa verkkokortin ryhmittelyajureita - ja siellä on myös kolmannen osapuolen apuohjelmia. Se on iso, halpa kaistanleveyden lisäys.

Nro 6: Web-palvelimien lopettaminen

Onko todella paljon tekemistä Web-palvelimen virittämiseksi ja suorituskyvyn maksimoimiseksi? Itse asiassa on - lähinnä säätämällä kourallinen kriittisiä asetuksia vastaamaan odotettua tuotantoliikennettä.

Aloita jo tuotannossa olevien verkkopalvelimien kerääminen reaaliaikaisista verkkopalvelintilastoista (useimmissa suurimmissa verkkopalvelimissa tämä toiminto on sisäänrakennettu). Siirry sitten vaiheistukseen sen selvittämiseksi, mitkä parametrit, jos sellaisia ​​on, täytyy säätää.

Aktivoi verkkopalvelimen suorituskyvyn seurantatyökalut vaiheistamispalvelimessa. Suorita kuormitustesti ja tarkista asiaankuuluvat parametrit, kuten vasteaika, lähetetyt ja vastaanotetut tavut sekä pyyntöjen ja vastausten määrä.

Keskeisiä parametreja, jotka haluat säätää liikenteen määrän mukaan, ovat välimuisti, ketjut ja yhteysasetukset.

Ota välimuisti käyttöön usein käytetylle sisällölle; joidenkin verkkopalvelimien avulla voit tallentaa tiedostot välimuistiin dynaamisesti käytön perusteella, kun taas toiset vaativat, että määrität välimuistiin tallennettavat tiedot. Varmista, että välimuistisi enimmäiskoko on riittävä odotettua liikennettä varten. Ja jos Web-palvelimesi tukee välimuistin kiihdytystä, ota se käyttöön.

Määritä kierteitys- ja liitäntäasetukset minimi- ja maksimiarvot odotetun työmäärän mukaan. Yhteyksiä varten sinun on myös määritettävä pyyntöjen enimmäismäärä yhteyttä kohti ja yhteyden aikakatkaisuasetus. Älä aseta kumpaakaan näistä arvoista liian pieniksi tai liian suuriksi, tai seurauksena voi olla hidastuminen.

Nro 7: WANin voitto

Luuletko, että sinun on palautettava WAN-kaistanleveys? Voit helposti käyttää paketin liikennettä muokkaaviin laitteisiin tai välimuistimoottoreihin yrittääkseen hillitä WAN-kaistanleveyden käyttöä. Mutta entä jos se ei ole putki?

Ensinnäkin ensin: Ennen kuin ostat mitään, hanki vankka käsitys siitä, mikä liikenne ylittää WAN: n. Verkkoanalyysityökalut, kuten Ethereal, ntop, Network Instrument's Observer tai WildPacket's EtherPeek NX, voivat antaa sinulle uuden kuvan siitä, mitä langalla todella on.

Saatat huomata, että Active Directoryn replikaatioajat on asetettu liian mataliksi, ja yksinkertaisesti pitempien replikointivälien määrittäminen voi ostaa hengitystilaa työpäivän aikana. Kartoittavatko jotkut syrjäisissä sijainneissa olevat käyttäjät jakamisen väärille palvelimille ja vetävätkö suuret tiedostot WAN-verkon yli huomaamatta sitä? Kelluvatko pitkään vammautuneen IPX-verkon jäljet ​​edelleen? Jotkut WAN-ongelmat johtuvat sovelluksen väärästä määrityksestä, jossa liikenne ohjataan WAN-verkon yli, kun sen olisi pitänyt pysyä paikallisena. Säännölliset raportit WAN-liikennemalleista säästävät rahaa ja päänsärkyä.

Nro 8: Pelataan mukavasti

Liian usein yritykset, useiden osastojen sovellukset, verkkopalvelut ja verkkosivustot kilpailevat palvelinresursseista. Vaikka jokainen näistä komponenteista voi olla hyvin viritetty itsessään, toisen osaston sovelluksessa, joka käyttää myös samoja tuotantoklustereita, voi olla huonosti viritetty kysely tai jokin muu ongelma, mikä puolestaan ​​vaikuttaa käyttäjiin tai asiakkaisiin.

Lähitulevaisuudessa kaikki, mitä voit tehdä, on työskennellä järjestelmänvalvojien ja osaston kanssa, jolla on suorituskykyongelma, saadaksesi ratkaisun käyttäjille tai asiakkaille. Pidemmällä aikavälillä luo yhteisö kaikkiin osastoihin, jotka käyttävät tuotantoklustereita, joissa objektisi ovat käytössä. Työskentele ryhmien kesken varmistaaksesi, että on olemassa riittävä rahoitus lavastusympäristölle, joka todella edustaa sekatyömäärän tuotantoympäristöä. Viime kädessä haluat kehittää sarjan vertailuarvoja, joiden avulla voidaan vahvistaa sekamuotoisen työmäärän suorituskyky lavastusympäristössä.

Nro 9: Välimuisti, muotoilu, rajoittaminen, oi!

Jos WAN-verkkosi on todella alamittainen - etkä voi varata kaukoliikenteen runkoverkkoa - liikenteen muotoilu ja välimuistin tallentaminen voivat auttaa tukkimaan putken.

Liikenteen muotoilevat kokoonpanot ovat enemmän taidetta kuin tiedettä. Sovellusten priorisointi on usein enemmän poliittista kuin teknistä, mutta sillä voi olla valtavia vaikutuksia verkon havaittuun suorituskykyyn.

Välimuisti on kokonaan erilainen peto. Se vaatii vähemmän työtä kuin liikenteen muotoilu, mutta vaikutus on todennäköisesti pienempi. Välimuistimoottorit tallentavat ja palvelevat yleisesti käytettyjen tietojen paikallisia kopioita WAN-liikenteen vähentämiseksi. Haittapuoli on, että dynaamista sisältöä ei voida todella tallentaa välimuistiin, joten sähköposti ei nauti samasta suorituskyvystä.

Nro 10: Ennakoiva korjaus

Tulet töihin maanantaina vain saadaksesi tietää, että joukko työpöytiä on ripustettu tai että kriittisen sovelluksen suorituskyky on hidastunut indeksointiin. Tutkittuasi päätät, että viikonloppuna kiinnitetty laastari on syy.

Siksi tarvitset työkaluja, jotka tukevat korjaustiedostojen palauttamista. Vielä parempi, sisällytä korjaustiedostot osana korjaustiedostojen hallinnan strategiaa. Ensin sinun on säännöllisesti inventoitava pöytätietokoneilla ja palvelimilla pelattavia sovelluksia ja tekniikoita. Useimmilla järjestelmänhallintatyökaluilla, kuten Microsoftin tekstiviestillä, on kyky inventoida puolestasi automaattisesti.

Seuraavaksi kopioi sovellukset ja tekniikat lavastusympäristöön. Jos käyttöjärjestelmäsi ja infrastruktuuriohjelmistosi eivät sisällä korjaustiedostotyökaluja, hanki kolmannen osapuolen työkalu, kuten FLEXnet AdminStudio tai Wise Package Studio.

Vaihtoehtoisesti voit kirjoittaa joitain komentosarjoja alustan tai tekniikan toimivaan käyttämiseen uusimpien pelimerkkien avulla. Sinun on toistettava tämä skenaario (ja muutettava komentosarjoja), kun uusia korjaustiedostoja saapuu ja ohjelmistomuutoksia tehdään.

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