Märkus.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida sisse logida või kausta vahetada.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida kausta vahetada.
Töökoormus, mis vastab oma jõudluseesmärkidele ilma ülepakkumata, on efektiivne. Toimivuse efektiivsuse peamised strateegiad hõlmavad koodi optimeerimise, disainimustrite ja mahutavuse planeerimise nõuetekohast kasutamist. Selle samba aluseks on selged tulemuslikkuse eesmärgid ja testimine.
Töökoormuse kavandamisetapis on oluline kaaluda, kuidas otsused, mis põhinevad jõudlustõhususe kavandamise põhimõtetel ja jõudlustõhususe kavandamise ülevaatuse kontrollnimekirjas esitatud soovitustel, võivad mõjutada teiste sammaste eesmärke ja optimeerimispüüdlusi. Teatud otsused võivad küll mõnele sambale kasuks tulla, kuid kujutada endast kompromisse teiste jaoks. See artikkel loetleb näiteid kompromissidest, millega töökoormuse meeskond võib kokku puutuda töökoormuse arhitektuuri ja toimingute kavandamisel jõudluse efektiivsuse saavutamiseks.
Toimivuse, efektiivsuse ja töökindluse kompromissid
Kompromiss: väiksem replikatsioon ja suurem tihedus. Usaldusväärsuse nurgakiviks on vastupidavuse tagamine replikatsiooni abil ja rikete levikuala piiramine.
- Töökoormuse ressursside konsolideerimine aitab ära kasutada üleliigset võimsust ja parandada tõhusust. See aga suurendab rikke plahvatusraadiust samas paiknevas komponendis või rakendusplatvormis.
Kompromiss: Suurem keerukus. Usaldusväärsus seab esikohale lihtsuse.
Andmete jaotamine ja killustamine aitavad vältida jõudlusprobleeme suurte või sageli kasutatavate andmekogumite puhul. Nende mustrite rakendamine suurendab aga keerukust, kuna (lõpuks) järjepidevust tuleb säilitada lisaressursside vahel.
Optimeeritud juurdepääsumustrite jaoks andmete denormaliseerimine võib parandada jõudlust, kuid see tekitab keerukust, kuna andmete mitu esitust tuleb sünkroonis hoida.
Jõudluskesksed pilvedisaini mustrid nõuavad mõnikord täiendavate komponentide kasutuselevõttu. Nende komponentide kasutamine suurendab töökoormuse pinda. Seejärel tuleb komponendid ise töökindlaks muuta, et kogu töökoormus oleks usaldusväärne.
Kompromiss: testimine ja vaatlemine aktiivsetes keskkondades. Tootmissüsteemide tarbetu kasutamise vältimine on usaldusväärsuse enesesäilitamise lähenemisviis.
Aktiivses keskkonnas toimivuse testimine võib põhjustada rikkeid testimistoimingute või konfiguratsioonide tõttu.
Töökoormusi tuleks hallata rakenduste jõudluse jälgimise (APM) süsteemiga, mis võimaldab meeskondadel aktiivsetest keskkondadest õppida. APM-tööriistad installitakse ja konfigureeritakse rakenduskoodis või hostimiskeskkonnas. Tööriista ebaõige kasutamine, piirangute ületamine või vale seadistamine võib kahjustada selle funktsionaalsust ja hooldust, mis võib potentsiaalselt kahjustada töökindlust.
Jõudluse, efektiivsuse ja turvalisuse kompromissid
Kompromiss: turvakontrollide vähendamine. Turvakontrollid luuakse mitmel tasandil, mõnikord koondatult, et pakkuda põhjalikku kaitset.
Üks jõudluse optimeerimise strateegia on eemaldada või mööda hiilida komponentidest või protsessidest, mis põhjustavad voo viivitusi, eriti kui nende töötlemisaeg pole õigustatud. See strateegia võib aga turvalisust kahjustada ja sellega peaks kaasnema põhjalik riskianalüüs. Vaadake järgmisi näiteid.
Krüptimise eemaldamine edastamise või salvestatud olekus edastuskiiruse parandamiseks seab andmed ohtu terviklikkuse või konfidentsiaalsuse rikkumistele.
Turvaskannimise või kontrollimise tööriistade eemaldamine või vähendamine töötlemisaja lühendamiseks võib kahjustada nende tööriistade kaitstud konfidentsiaalsust, terviklikkust või käideldavust.
Võrgu latentsuse parandamiseks tulemüürireeglite eemaldamine võrguvoogudest võib põhjustada soovimatut sidet.
Andmete valideerimise minimeerimine kiirema andmetöötluse eesmärgil võib kahjustada andmete terviklikkust, eriti pahatahtlike sisendite korral.
Kompromiss: Suurem töökoormuse pindala. Turvalisus seab esikohale vähendatud ja piiratud pindala, et minimeerida rünnakuvektoreid ja vähendada turvakontrollide haldamist.
Jõudluskesksed pilvedisaini mustrid nõuavad mõnikord täiendavate komponentide kasutuselevõttu. Need komponendid suurendavad töökoormuse pinda. Uued komponendid peavad olema turvatud, võimalik, et viisil, mida süsteemis veel ei kasutata, ja need suurendavad sageli vastavuse ulatust. Mõelge järgmistele tavaliselt lisatud komponentidele:
Tutvustame mitmeid erinevaid äriloogika käsitlemise meetodeid, näiteks pilvevooge ja madala koodiga pluginaid, mis põhinevad iga ülesande jõudlusnõuetel.
Töötlemise suunamine taustatöödele või isegi kliendi arvutustesse.
Kompromiss: segmenteerimise eemaldamine. Turvalisuse sammas seab esikohale tugeva segmenteerimise, et võimaldada peeneteralist turvakontrolli ja vähendada plahvatusraadiust.
Ressursside jagamine on üks viis efektiivsuse parandamiseks. See suurendab tihedust, et optimeerida võimsuse kasutamist. Näiteks vähese koodiga pluginate taaskasutamine mitmes lõuendirakenduses ja pilvevoogudes. Suurem tihedus võib põhjustada järgmisi turvaprobleeme:
Jagatud töökoormuse identiteet, mis rikub vähimate õiguste põhimõtet ja varjab juurdepääsulogides individuaalseid auditeerimisjälgi.
Perimeetri turvakontrollid, näiteks võrgureeglid, mis on vähendatud, et hõlmata kõiki koos paiknevaid komponente, andes üksikutele komponentidele vajalikust rohkem juurdepääsu.
Toimivuse efektiivsuse ja operatiivse tipptaseme vahelised kompromissid
Kompromiss: vähenenud jälgitavus. Jälgimine on vajalik, et pakkuda töökoormusele sisukat teavitamist ja aidata tagada edukas intsidentidele reageerimine.
Logide ja mõõdikute mahu vähendamine telemeetria kogumisele kuluva töötlemisaja vähendamiseks muude ülesannete asemel vähendab süsteemi üldist jälgitavust. Mõned näited sellest tulenevast vähenenud jälgitavusest on järgmised:
- See piirab andmepunkte, mida kasutatakse sisukate teadete loomiseks.
- See toob kaasa lünki intsidentidele reageerimise tegevuste katvuses.
- See piirab jälgitavust turva- või vastavustundlikes interaktsioonides ja piirides.
Jõudlusdisaini mustrite rakendamisel suureneb sageli töökoormuse keerukus. Kriitilistele voogudele lisatakse komponendid. Töökoormuse jälgimise strateegia ja tulemuslikkuse jälgimine peavad neid komponente sisaldama. Kui voog hõlmab mitut komponenti või rakenduse piire, suureneb selle voo jõudluse jälgimise keerukus. Voolu jõudlus peab olema korreleeritud kõigi omavahel ühendatud komponentide vahel.
Kompromiss: tegevuse suurem keerukus. Keerulises keskkonnas on keerukamad interaktsioonid ja suurem tõenäosus negatiivseks mõjuks rutiinsetest, ad hoc ja hädaolukordadest tingitud operatsioonidest.
Toimivuse efektiivsuse parandamine tiheduse suurendamise teel suurendab operatiivülesannete riski. Ühe protsessi veal võib olla suur plahvatusraadius.
Jõudlusdisaini mustrite rakendamisel mõjutavad need tööprotseduure, nagu varukoopiad, võtmete rotatsioonid ja taastamisstrateegiad. Näiteks andmete jaotamine ja killustamine võivad rutiinseid ülesandeid keerulisemaks muuta, kui meeskonnad püüavad tagada, et need ülesanded ei mõjutaks andmete järjepidevust.
Kompromiss: kultuuriline stress. Operatiivne tipptase tugineb süütuse, austuse ja pideva täiustamise kultuurile.
Jõudlusprobleemide algpõhjuste analüüsi läbiviimine tuvastab protsessides või rakendustes esinevad puudujäägid, mis vajavad parandamist. Meeskond peaks harjutust õppimisvõimalusena pidama. Kui meeskonnaliikmeid probleemides süüdistatakse, võib see mõjutada meeskonna moraali.
Rutiinsed ja ajutised protsessid võivad mõjutada töökoormuse jõudlust. Sageli peetakse eelistatavaks neid tegevusi teha väljaspool tipptundi. Siiski võivad väljaspool tipptundi olevad tunnid olla ebamugavad või väljaspool tavapärast tööaega meeskonnaliikmetele, kes nende ülesannete eest vastutavad või on nendes oskustega.
Toimivuse efektiivsuse kompromissid kogemuse optimeerimisega
Kompromiss: vähenenud kasutajate kaasatus. Kogemuse optimeerimise sammas seab esikohale kaasahaaravamad kasutajakogemused.
Jõudluse optimeerimine seab platvormi funktsioonide kasutamise prioriteediks kohanduste ees, mis vähendab kohandatud komponentide tähtsust, kuid võib pakkuda kaasahaaravamat kasutuskogemust.
Jõudluse optimeerimine võib keskenduda liiga palju keerukuse minimeerimisele, mis seab tagaplaanile funktsioonid, mis pakuvad kaasahaaravamat kasutuskogemust, näiteks kohandatud komponendid ja integratsioonid.
Kasutajaliidese arendus toimub sageli kiiremate iteratsioonide ja tarnetsüklitena, mis võib raskendada jõudluse pidevat parandamist.