Suorituskyvyn tehokkuus

Valmis

Kuvittele, että julkaistaan uutisjuttu organisaatiosi viimeisimmistä tuoteilmoituksista. Uutistarinan lisätty julkisuus tuo suuren liikennevirran sivustoosi. Pystyykö sivustosi käsittelemään tämän liikenteen kasvun? Voiko sivustosi ottaa ylimääräisen kuormituksen vastaan hidastamatta tai vastaamatta?

Tässä osiossa tarkastelemme joitain perusperiaatteita, joiden avulla varmistetaan erinomainen sovellussuorituskyky. Erityisesti skaalauksen ja optimoinnin periaatteet, jotka muodostavat suorituskyvyn tehokkuuden pilarin.

Mikä on suorituskyvyn tehokkuus?

Suorituskyvyn tehokkuus vastaa sovelluksen käytettävissä olevia resursseja kysyntään, jota se vastaanottaa. Suorituskyvyn tehokkuuteen kuuluvat resurssien skaalaus, mahdollisten pullonkaulojen tunnistaminen ja optimointi sekä sovelluskoodin optimointi suorituskyvyn huipputehoa varten.

Tutustutaan nyt joihinkin malleihin ja käytäntöihin, jotka voivat parantaa sovelluksesi skaalautuvuutta ja suorituskykyä.

Skaalaa ylös ja ulos

Käsittelyresurssit voidaan skaalata kahteen suuntaan:

  • skaalaus ylöspäin lisää resursseja yhteen esiintymään. Tunnetaan myös nimellä pystysuora skaalaus.

    Kuva, joka näyttää skaalauksen ylöspäin lisäämällä resursseja näennäiskoneeseen.

  • skaalaus ulos lisää esiintymiä. Tunnetaan myös nimellä vaakasuuntainen skaalaus.

    Kuva, joka näyttää skaalauksen ulos lisäämällä esiintymiä suorituskyvyn parantamiseksi.

skaalaus ylöspäin koskee resurssien, kuten suorittimen tai muistin, lisäämistä yhteen esiintymään. Tämä esiintymä voi olla näennäiskone tai PaaS-palvelu.

Kapasiteetin lisääminen esiintymään lisää sovelluksen käytettävissä olevia resursseja, mutta tällä toiminnolla on kuitenkin rajansa. Näennäiskoneet on rajoitettu sen isännän kapasiteettiin, jossa ne suorittavat, ja itse isännillä on fyysisiä rajoituksia. Kun skaalaat esiintymän ylöspäin, voit lopulta törmätä näihin rajoihin. Ne rajoittavat kykyäsi lisätä resursseja esiintymään.

skaalaus ulos liittyy uusien esiintymien lisäämiseen palveluun. Ne voivat olla näennäiskoneita tai PaaS-palveluja. Sen sijaan, että lisäisimme kapasiteettia tekemällä yksittäisestä esiintymästä tehokkaampi, lisäämme kapasiteettia kasvattamalla esiintymien kokonaismäärää.

Skaalauksen etuna on, että voit mahdollisesti skaalata vaakasi lopullisesti, jos sinulla on enemmän koneita lisättäväksi arkkitehtuuriin. Skaalaus ulos edellyttää jonkintyyppistä kuormituksen jakaumaa. Tämä on esimerkiksi kuormituksentasain, joka jakaa pyyntöjä käytettävissä olevien palvelimien välillä, tai palvelunetsintämekanismi aktiivisten palvelimien tunnistamiseksi, joihin pyynnöt lähetetään.

Kummassakin skaalaustyypissä resursseja voidaan vähentää, mikä saa kustannusoptimoinnin kuvaan.

Automaattinen skaalaus on prosessi, jossa resursseja kohdentaa dynaamisesti suorituskykyvaatimusten vastaamiseksi. Kun työn määrä kasvaa, sovellus saattaa tarvita enemmän resursseja halutun suorituskykytason ylläpitämiseen ja palvelutasosopimusten täyttämiseen. Koska kysyntä vähenee ja lisäresursseja ei enää tarvita, ne voidaan siirtää pois kustannusten minimoimiseksi.

Automaattinen skaalaus hyödyntää pilvipalvelussa isännöitävien ympäristöjen joustavyyttä ja helpottaa samalla hallinnan yleiskustannuksia. Se vähentää operaattorin tarvetta seurata jatkuvasti järjestelmän suorituskykyä ja tehdä päätöksiä resurssien lisäämisestä tai poistamisesta.

Verkon suorituskyvyn optimointi

Optimoidessasi suorituskykyä tarkastelet verkon ja tallennustilan suorituskykyä varmistaaksesi, että niiden tasot ovat hyväksyttävien rajojen sisällä. Nämä suorituskykytasot voivat vaikuttaa sovelluksesi vastausaikaan. Valitsemalla arkkitehtuurillesi oikeat verkko- ja tallennustekniikat voit varmistaa, että tarjoat kuluttajillesi parhaan mahdollisen käyttökokemuksen.

Viestitason lisääminen palveluiden välille voi hyödyttää suorituskykyä ja skaalattavuutta. Viestikerros luo puskurin, jotta pyynnöt voivat jatkua virheittä, jos vastaanottava sovellus ei pysy mukana. Kun sovellus toimii pyyntöjen kautta, niihin vastataan siinä järjestyksessä, jossa ne vastaanotettiin.

Tallennustilan suorituskyvyn optimointi

Monissa suurissa ratkaisuissa tiedot on jaettu erillisiin osioihin, joita voidaan hallita ja käyttää erikseen. Osiointistrategia on valittava huolellisesti, jotta hyödyt maksimoidaan ja haittavaikutuksia minimoidaan. Osiointi voi auttaa parantamaan skaalattavuutta, vähentämään kiistettä ja optimoimaan suorituskykyä.

Käytä arkkitehtuurissasi välimuistiin tallentamista suorituskyvyn parantamiseksi. Välimuistiin tallentaminen on mekanismi, jolla usein käytetyt tiedot (verkkosivut, kuvat) tallennetaan tavallista nopeammin. Voit käyttää välimuistiin tallentamista sovelluksesi eri kerroksissa. Voit käyttää välimuistiin tallentamista sovelluspalvelimien ja tietokannan välillä tietojen noutoaikojen lyhentämiseksi.

Voit myös käyttää välimuistitallennusta käyttäjien ja verkkopalvelimien välillä sijoittamalla staattista sisältöä lähemmäs käyttäjiä. Tämäntyyppinen välimuistiin tallentaminen lyhentää verkkosivujen palauttamiseen käyttäjille kuluvaa aikaa. Sillä on myös toissijainen vaikutus pyyntöjen purkamiseen tietokannasta tai verkkopalvelimista, mikä lisää muiden pyyntöjen suorituskykyä.

Tunnista sovelluksen suorituskyvyn pullonkaulat

Pilvipalvelussa toimivat hajautetut sovellukset ja palvelut ovat monimutkaisia ohjelmistoja, jotka koostuvat monista liikkuvista osista. Tuotantoympäristössä on tärkeää pystyä seuraamaan tapaa, jolla käyttäjät käyttävät järjestelmääsi. On myös tärkeää jäljittää resurssien käyttö ja valvoa yleisesti järjestelmäsi kuntoa ja suorituskykyä. Voit käyttää näitä tietoja diagnostisena apuna ongelmien tunnistamiseen ja korjaamiseen. Näiden tietojen avulla voit myös havaita mahdollisia ongelmia ja estää niiden esiintymisen.

Suorituskyvyn optimoinnilla opit ymmärtämään, miten sovellukset itse suoriutuvat. Virheet, huonosti toimiva koodi ja riippuvaisten järjestelmien pullonkaulat voidaan kaikki paljastaa sovelluksen suorituskyvyn hallintatyökalun avulla. Usein nämä ongelmat saattavat olla piilotettuja tai hämärtyviä käyttäjille, kehittäjille ja järjestelmänvalvojille, mutta ne voivat heikentää sovelluksesi yleistä suorituskykyä.

Tarkastele sovelluksen kaikkia kerroksia ja tunnista ja korjaa suorituskyvyn pullonkauloja. Nämä pullonkaulat saattavat aiheuttaa huonon muistinkäsittelyn sovelluksessasi tai jopa indeksien lisäämisprosessin tietokannassasi. Se voi olla toistuva prosessi, kun vapautat yhden pullonkaulan ja paljastat sitten toisen, josta et ollut tietoinen.

Kun käytät perusteellista lähestymistapaa suorituskyvyn valvontaan, voit määrittää mallit ja käytännöt, joista arkkitehtuurisi voi hyötyä.

Tarkista tietosi

1.

Mikä seuraavista on esimerkki skaalautumisesta ylöspäin (pystysuuntainen skaalaus)?

2.

Mikä seuraavista on esimerkki skaalautumisesta ulos (vaakasuuntainen skaalaus)?