Kopīgot, izmantojot


Veiktspējas efektivitātes kompromisi darba Power Platform slodzēm

Darba slodze, kas atbilst veiktspējas mērķiem bez pārmērīgas nodrošināšanas, ir efektīva. Galvenās veiktspējas efektivitātes stratēģijas ietver pareizu koda optimizāciju, dizaina modeļu un jaudas plānošanas izmantošanu. Šī pīlāra pamatā ir skaidri darbības uzlabošanas mērķi un testēšana.

Darba slodzes noformēšanas fāzē ir svarīgi apsvērt, kā lēmumi, kuru pamatā ir veiktspējas efektivitātes noformēšanas principi un ieteikumi veiktspējas efektivitātes noformējuma pārskatīšanas kontrolsarakstā, var ietekmēt citu pīlāru mērķus un optimizācijas centienus. Daži lēmumi var dot labumu dažiem pīlāriem, bet citiem ir kompromisi. Šajā rakstā ir uzskaitīti kompromisu piemēri, ar kuriem darba slodzes komanda var saskarties, izstrādājot darba slodzes arhitektūru un darbības veiktspējas efektivitātei.

Veiktspējas efektivitātes kompromisi ar uzticamību

Kompromiss: samazināta replikācija un palielināts blīvums. Uzticamības stūrakmens ir noturības nodrošināšana, izmantojot replikāciju un ierobežojot darbības traucējumu sprādziena rādiusu.

  • Darba slodzes resursu konsolidācija var izmantot lieko jaudu un uzlabot efektivitāti. Tomēr tas palielina darbības traucējumu rādiusu kopīgi izvietotajā komponentā vai lietojumprogrammā.

Kompromiss: paaugstināta sarežģītība. Uzticamība piešķir prioritāti vienkāršībai.

  • Datu sadalīšana un sadalīšana palīdz izvairīties no veiktspējas problēmām lielās vai bieži piekļūstošajās datu kopās. Tomēr šo modeļu ieviešana palielina sarežģītību, jo (iespējamo) konsekvence ir jāsaglabā papildu resursos.

  • Datu denormalizēšana optimizētiem piekļuves modeļiem var uzlabot veiktspēju, taču tas rada sarežģītību, jo ir jāsinhronizē vairāki datu attēlojumi.

  • Uz veiktspēju orientēti mākoņa dizaina modeļi dažkārt prasa ieviest papildu komponentus. Šo komponentu izmantošana palielina darba slodzes virsmas laukumu. Pēc tam komponenti paši ir jāpadara uzticami, lai visa darba slodze būtu uzticama.

Kompromiss: testēšana un novērošana aktīvajā vidē. Izvairīšanās no nevajadzīgas ražošanas sistēmu izmantošanas ir pašsaglabāšanās pieeja uzticamībai.

  • Veiktspējas testēšana aktīvā vidē rada risku izraisīt darbības traucējumus testa darbību vai konfigurāciju dēļ.

  • Darba slodzes ir jāinstrumentē ar lietojumprogrammu veiktspējas uzraudzības (APM) sistēmu, kas ļauj komandām mācīties no aktīvās vides. APM rīki tiek instalēti un konfigurēti lietojumprogrammas kodā vai hostinga vidē. Nepareiza rīka lietošana, ierobežojumu pārsniegšana vai nepareiza konfigurācija var apdraudēt tā funkcionalitāti un uzturēšanu, potenciāli mazinot uzticamību.

Veiktspējas efektivitātes kompromisi ar drošību

Kompromiss: drošības kontroles samazināšana. Drošības kontrole tiek izveidota vairākos slāņos, dažreiz lieki, lai nodrošinātu padziļinātu aizsardzību.

Viena no veiktspējas optimizācijas stratēģijām ir noņemt vai apiet komponentus vai procesus, kas veicina plūsmas aizkavēšanos, it īpaši, ja to apstrādes laiks nav pamatots. Tomēr šī stratēģija var apdraudēt drošību, un tai būtu jāpievieno rūpīga riska analīze. Aplūkojiet šādus piemērus:

  • Šifrēšanas noņemšana tranzīta laikā vai miera stāvoklī, lai uzlabotu pārsūtīšanas ātrumu, pakļauj datus iespējamiem integritātes vai konfidencialitātes pārkāpumiem.

  • Drošības skenēšanas vai pārbaudes rīku noņemšana vai samazināšana, lai samazinātu apstrādes laiku, var apdraudēt šo rīku aizsargājamo konfidencialitāti, integritāti vai pieejamību.

  • Ugunsmūra noteikumu noņemšana no tīkla plūsmām, lai uzlabotu tīkla latentumu, var atļaut nevēlamu saziņu.

  • Datu validācijas samazināšana ātrākai datu apstrādei var apdraudēt datu integritāti, it īpaši, ja ievades ir ļaunprātīgas.

Kompromiss: palielināta darba slodzes platība. Drošība piešķir prioritāti samazinātai un ierobežotai virsmas platībai, lai samazinātu uzbrukumu vektorus un samazinātu drošības kontroles pārvaldību.

Uz veiktspēju orientēti mākoņa dizaina modeļi dažkārt prasa ieviest papildu komponentus. Šie komponenti palielina darba slodzes virsmas laukumu. Jaunie komponenti ir jānodrošina, iespējams, tādos veidos, kas vēl nav izmantoti sistēmā, un tie bieži palielina atbilstības jomu. Apsveriet šos bieži pievienotos komponentus:

  • Ieviešot vairākas dažādas biznesa loģikas apstrādes metodes, piemēram, mākoņplūsmas un zema koda spraudņus, pamatojoties uz katra uzdevuma veiktspējas prasībām.

  • Apstrādes pārkraušana uz fona darbiem vai pat klienta skaitļiem.

Kompromiss: segmentācijas noņemšana. Drošības pīlārs piešķir prioritāti spēcīgai segmentācijai, lai nodrošinātu smalku drošības kontroli un samazinātu sprādziena rādiusu.

Resursu koplietošana ir pieeja efektivitātes uzlabošanai. Tas palielina blīvumu, lai optimizētu jaudas izmantošanu. Piemēram, zema koda spraudņu atkārtota izmantošana vairākās audekla lietotnēs un mākoņplūsmās. Paaugstināts blīvums var izraisīt šādas drošības problēmas:

  • Koplietojama darba slodzes identitāte, kas pārkāpj vismazākās privilēģijas principu un aizēno atsevišķas audita pēdas piekļuves žurnālos.

  • Perimetra drošības kontrole, piemēram, tīkla noteikumi, kas tiek samazināti, lai aptvertu visus kopīgi izvietotos komponentus, nodrošinot atsevišķiem komponentiem vairāk piekļuves, nekā nepieciešams.

Veiktspējas efektivitātes kompromisi ar darbības izcilību

Kompromiss: samazināta novērojamība. Uzraudzība ir nepieciešama, lai nodrošinātu darba slodzi ar jēgpilnu brīdinājumu un palīdzētu nodrošināt veiksmīgu reaģēšanu uz incidentiem.

  • Žurnāla un metrikas apjoma samazināšana, lai samazinātu apstrādes laiku, kas patērēts telemetrijas apkopošanai citu uzdevumu vietā, samazina sistēmas vispārējo novērojamību. Daži piemēri samazinātai novērojamībai ir šādi:

    • Tas ierobežo datu punktus, kas tiek izmantoti, lai izveidotu jēgpilnus brīdinājumus.
    • Tas rada nepilnības incidentu reaģēšanas pasākumu pārklājumā.
    • Tas ierobežo novērojamību drošības vai atbilstības jutīgu mijiedarbībā un robežās.
  • Kad tiek ieviesti veiktspējas dizaina modeļi, darba slodzes sarežģītība bieži palielinās. Komponenti tiek pievienoti kritiskajām plūsmām. Darba slodzes uzraudzības stratēģijā un veiktspējas uzraudzībā jāiekļauj šie komponenti. Ja plūsma aptver vairākus komponentus vai lietojumprogrammu robežas, palielinās šīs plūsmas veiktspējas uzraudzības sarežģītība. Plūsmas veiktspēja ir jākorelē starp visiem savstarpēji saistītajiem komponentiem.

Kompromiss: paaugstināta operāciju sarežģītība. Sarežģītā vidē ir sarežģītāka mijiedarbība un lielāka ikdienas, ad hoc un ārkārtas operāciju negatīvas ietekmes iespējamība.

  • Veiktspējas efektivitātes uzlabošana, palielinot blīvumu, palielina risku operatīvo uzdevumu veikšanā. Kļūdai vienā procesā var būt liels sprādziena rādiuss.

  • Kad tiek ieviesti veiktspējas dizaina modeļi, tie ietekmē darbības procedūras, piemēram, dublējumus, atslēgu rotācijas un atkopšanas stratēģijas. Piemēram, datu sadalīšana un sadalīšana var sarežģīt ikdienas uzdevumus, kad komandas cenšas nodrošināt, ka šie uzdevumi neietekmē datu konsekvenci.

Kompromiss: kultūras stress. Operatīvā izcilība sakņojas nevainojamības, cieņas un nepārtrauktas uzlabošanas kultūrā.

  • Veicot veiktspējas problēmu pamatcēloņu analīzi, tiek identificēti trūkumi procesos vai implementācijās, kas jālabo. Komandai vajadzētu uzskatīt vingrinājumu par mācību iespēju. Ja komandas locekļi tiek vainoti problēmās, var tikt ietekmēta morāle.

  • Ikdienas un ad hoc procesi var ietekmēt darba slodzes veiktspēju. Bieži tiek uzskatīts, ka vēlams veikt šīs darbības ārpus pīķa stundām. Tomēr ārpus pīķa stundām var būt neērti vai ārpus parastā laika komandas locekļiem, kuri ir atbildīgi par šiem uzdevumiem vai ir prasmīgi veikt šos uzdevumus.

Veiktspējas efektivitātes kompromisi ar pieredzes optimizāciju

Kompromiss: samazināta lietotāju iesaiste. Pieredzes optimizācijas pīlārs piešķir prioritāti saistošākai lietotāju pieredzei.

  • Optimizējot veiktspēju, prioritāte tiek piešķirta platformas funkciju izmantošanai, nevis pielāgojumiem, kas atceļ prioritātes pielāgotiem komponentiem, kas varētu radīt saistošāku lietotāja pieredzi.

  • Optimizējot veiktspēju, var pārāk daudz koncentrēties uz sarežģītības samazināšanu, kas atceļ funkcijas saistošākai lietotāja pieredzei, piemēram, pielāgotiem komponentiem un integrācijām.

  • Lietotāja interfeisa izstrāde bieži tiek veikta ātrākās iterācijās un piegādes ciklos, kas var apgrūtināt nepārtrauktu veiktspējas uzlabošanu.