Бөлісу құралы:


Логиканы оңтайландыру бойынша ұсыныстар

Осы Power Platform Жақсы құрастырылған өнімділік тиімділігін тексеру тізімі ұсынысына қолданылады:

PE:06 Орындаушы логиканы пайдаланыңыз және оның платформаға жауапкершілікті түсіретініне көз жеткізіңіз. Логиканы тек мақсатқа сай және қажет болғанда ғана пайдаланыңыз.

Бұл нұсқаулық кодты және инфрақұрылым өнімділігін оңтайландыруға арналған ұсыныстарды сипаттайды. Кодты және инфрақұрылымды оңтайландыру үшін құрамдастарды тек олардың негізгі мақсаттары үшін және қажет болғанда ғана пайдалану керек. Код пен инфрақұрылымды шамадан тыс пайдаланған кезде, ол қажетсіз ресурстарды тұтынуды, кедергілерді және баяу жауаптарды тудырады. Сол тиімсіздіктердің орнын толтыру үшін бірдей тапсырмаларды орындау үшін көбірек ресурстарды қосу керек.

Анықтамалар

Термин Анықтама
Параллельдік Бірнеше тапсырмалар немесе процестер бір уақытта орындалған кезде, бірақ дәл бір уақытта міндетті емес.
Параллелизм Бірнеше тапсырмалар немесе процестер бір уақытта орындалғанда.

Негізгі дизайн стратегиялары

Логиканы және инфрақұрылымды оңтайландыру өнімділік тиімділігін арттыру үшін логиканы және қолдаушы инфрақұрылымды дәл реттеуді талап етеді. Ол тапсырмаларды жылдам орындайтын және ресурстарды ысырап етпейтін орындаушылық логиканы қажет етеді. Ол қажетсіз күрделілікті болдырмау үшін оңтайландырылған жақсы жобаланған инфрақұрылымды қажет етеді. Жұмыс жүктемесі платформаның өзіне тән мүмкіндіктерін пайдалануы керек. Бұл тәсіл логиканың да, инфрақұрылымның да ең алдымен негізгі мақсаттары үшін және қажет болғанда ғана пайдаланылуын қамтамасыз етуге көмектеседі.

Логикалық өнімділікті оңтайландыру

Логикалық өнімділікті оңтайландыру үшін, ресурстарды пайдалануды азайту, орындау уақытын азайту және өнімділікті арттыру үшін кодты өзгертіңіз. Қолданбаның немесе ағынның тиімділігі мен жылдамдығын жақсарту үшін логиканы өзгертуге болады. Өнімділік мәселелерін дөрекі күшпен жасырмаңыз. Қатыгез күш код өнімділігін өтеу үшін есептеу ресурстарын қосуды білдіреді, мысалы, көзге жүгінудің орнына қосымша сыйымдылықты қосу. Оңтайландыру арқылы өнімділік мәселелерін шешу керек. Логикалық өнімділікті оңтайландырғанда, ол жүйе ресурстарын барынша пайдалануға көмектеседі, жауап беру уақытын жақсартады, кідірістерді азайтады және пайдаланушы тәжірибесін жақсартады.

Логикаңызды құрастырыңыз

Құралдар логикасы орындалу уақыты кезінде деректерді жинау және логикалық өнімділікті бақылау үшін реттелетін оқиғалар журналын қосу тәжірибесін білдіреді. Логикалық құралдар әзірлеушілерге орындау уақыты сияқты негізгі көрсеткіштер туралы ақпаратты жинауға мүмкіндік береді. Логикалық құралдарды қолдану арқылы әзірлеушілер логикалық жылдам жолдар туралы түсініктерге ие болады, өнімділік кедергілерін анықтайды және өнімділік тиімділігін арттыру үшін логиканы оңтайландырады.

Ең дұрысы, бағдарламалық жасақтаманы әзірлеудің өмірлік циклінің басында логикалық талдауды орындау керек. Логикалық мәселені неғұрлым ерте тапсаңыз, оны түзету арзанырақ болады. Сіз бұл логикалық талдауды мүмкіндігінше автоматтандырғыңыз келеді. Қолмен жұмысты азайту үшін динамикалық және статикалық кодты талдау құралдарын пайдаланыңыз. Мысалы, Ағынды тексеру құралы сүзгі шартын көрсетпейтін сұрау сияқты нәтижелі болуы күтілмейтін логиканы бөлектей алады. Дегенмен, бұл сынақ әлі де өндірісті модельдеу екенін есте сақтаңыз. Өндіріс логикалық оңтайландырудың ең айқын түсінігін қамтамасыз етеді.

Tradeoff: Логикалық бақылау құралдары шығындарды көбейтуі мүмкін.

Ыстық жолдарды анықтаңыз

Логиканы құралдау арқылы әртүрлі логикалық жолдар үшін ресурстарды тұтынуды өлшеуге болады. Бұл өлшемдер ыстық жолдарды анықтауға көмектеседі. Ыстық жолдар өнімділікке және ресурстарды пайдалануға айтарлықтай әсер етеді. Олар жоғары өнімділікті және төмен кідірісті талап ететін бағдарламаның маңызды немесе жиі орындалатын бөлімдері.

Кодтың ыстық жолдарын анықтау үшін мына қадамдарды қарастырыңыз:

  • Орындау уақыты деректерін талдау: Орындау уақыты деректерін жинаңыз және логиканың ең көп уақытты тұтынатын аймақтарын анықтау үшін талдаңыз. Жиі орындалатын немесе аяқтау үшін ұзақ уақыт алатын үлгілерді немесе логика бөлімдерін іздеңіз.

  • Өлшем өнімділігі: әртүрлі логикалық жолдардың орындалу уақытын және ресурс шығынын өлшеу үшін профильдеу құралдарын немесе өнімділікті тексеру құрылымдарын пайдаланыңыз. Бұл процесс кедергілер мен жақсарту аймақтарын анықтауға көмектеседі. Мысалы, өнімділікті жақсарту үшін қолданбаңыздың оқиғалары мен формулалары қалай жұмыс істейтінін жақсырақ түсіну үшін Мониторды in Power Apps пайдалана аласыз. .

  • Іскерлік логиканы және пайдаланушы әсерін қарастырыңыз: әртүрлі логикалық жолдардың маңыздылығын қолданбаның функционалдығына немесе маңызды бизнес операцияларына қатыстылығына қарай бағалаңыз. Пайдаланушыларға мәнді жеткізу немесе өнімділік талаптарын қанағаттандыру үшін қандай логикалық жолдар маңызды екенін анықтаңыз.

Логиканы оңтайландыру

Логиканы оңтайландыру - аз ресурстармен тапсырмаларды орындау үшін логиканың құрылымы мен дизайнын нақтылау. Жақсартылған логика қажетсіз операцияларды азайтады. Ол ресурсты аз тұтыну арқылы жылдамырақ орындауды жасайды. Сіз логикалық жолдағы өнімділікке әсер етуі мүмкін кез келген қажетсіз әрекеттерді жоюыңыз керек. Ең үлкен өнімділік тиімділігін көру үшін ыстық жолдарды оңтайландыруға басымдық беріңіз.

Логиканы оңтайландыру үшін келесі стратегияларды қарастырыңыз:

  • Қажет емес функция шақыруларын алып тастаңыз : Логиканы қарап шығыңыз және қажетті функция үшін маңызды емес және өнімділікке теріс әсер етуі мүмкін кез келген функцияларды анықтаңыз. Мысалы, егер функция шақыруы кодта бұрын аяқталған тексеруді орындаса, қажетсіз тексеру функциясы шақыруын жоюға болады.

  • Тіркеу операцияларын азайту : Журнал жүргізу отладтау және талдау үшін пайдалы болуы мүмкін, бірақ шамадан тыс тіркеу өнімділікке әсер етуі мүмкін. Әрбір тіркеу операциясының қажеттілігін бағалаңыз және өнімділікті талдау үшін маңызды емес кез келген қажетсіз тіркеу шақыруларын жойыңыз. Жүйеге жүйеге кіруді қосуға және өшіруге мүмкіндік беру, өндіріс өнімділігі мәселелерін тудырмай, жөндеуге көмектесу жақсы тәжірибе болып табылады.

  • Циклдер мен шартты мәндерді оңтайландыру : Логикадағы циклдар мен шартты мәндерді талдаңыз және жоюға болатын кез келген қажетсіз итерацияларды немесе шарттарды анықтаңыз. Бұл құрылымдарды жеңілдету және оңтайландыру сіздің кодыңыздың жұмысын жақсартады. Циклдер ішіндегі функция шақыруларын азайтыңыз және артық есептеулерді жойыңыз. Есептеулерді циклден тыс жылжытуды қарастырыңыз.

  • Қажетсіз деректерді өңдеуді азайтыңыз : Артық есептеулер немесе түрлендірулер сияқты кез келген қажетсіз деректерді өңдеу әрекеттері үшін логиканы қарап шығыңыз. Логиканың тиімділігін арттыру үшін осы қажетсіз әрекеттерді жойыңыз. Мысалы, кодтағы мәнді есептеудің және оны сақтаудың орнына Dataverse есептелген бағандарды, жиынтық өрістерді немесе Power Fx бағандарды пайдаланыңыз. сақтау операциясы.

  • Деректер құрылымдарын оңтайландыру. Деректерді тиімді сақтау және шығарып алу үшін сәйкес деректер құрылымдарын және тек қажетті деректер бағандарын таңдаңыз. Белгілі бір мәселе үшін ең жақсы деректер құрылымын таңдаңыз. Сәйкес деректер құрылымы қолданба жұмысын жақсартады.

  • Желі сұрауларын азайту: Егер логика желі сұрауларын жасауды қамтыса (мысалы, қосқыш әрекетін пайдалану), сұраулар санын азайтып, оларды пайдалануды оңтайландырыңыз. Мүмкіндігінше пакеттік сұраулар жасаңыз және өнімділікті жақсарту үшін қажетсіз айналма сапарлардан аулақ болыңыз.

  • Деректер құрылымының өлшемін азайту: деректер талаптарын қарап шығыңыз және қажет емес өрістерді немесе сипаттарды жойыңыз. Сәйкес деректер түрлерін таңдау және деректерді тиімді орау арқылы жадты пайдалануды оңтайландырыңыз.

  • Жұмысты асинхронды түрде орындаңыз: логикаңызда жұмысты синхронды емес, асинхронды түрде орындауға болатынын бағалаңыз. Мысалы, кірістірілген операцияны орындаудың орнына, жұмысты асинхронды түрде өңдеу үшін a Power Automate ағынды енгізуді қарастырыңыз.

  • Теңшеу алдында конфигурациялаңыз. Мүмкіндігінше стандартты қолданба құрамдастарын пайдаланыңыз. Плагиндер және JavaScript сияқты теңшеулер өнімділікке әсер етуі мүмкін.

  • Басқару элементтерін азайту. Пішіндерде тек қажетті өрістерді көрсетіңіз — тым көп өрістер пайдаланушы интерфейсін бұзып, өнімділікке әсер етуі мүмкін. Пәрмен жолағындағы, кенеп қолданбасындағы немесе реттелетін беттегі басқару элементтерінің санын азайтыңыз. Галереяларды орналастырудан немесе галереяға тым көп құрамдастарды қосудан аулақ болыңыз.

  • Деректер сұрауларын оңтайландыру. Қолданбаға немесе ағынға қажет деректерді ғана жүктеңіз. Сұрауыңызға қатысты деректерді тарылту үшін деректерді алдын ала сүзу үшін серверлік көріністерді пайдаланыңыз.

Сіз жұмыс істеп жатқан Power Platform өнімге тән өнімділік ұсыныстарын қарап шығыңыз. Жақсарту қажет аймақтарды анықтау үшін осы ұсыныстарға қарсы логикаңызды бағалаңыз.

Tradeoff: Логиканы және ыстық жолдарды оңтайландыру тәжірибені қажет етеді. Логикалық тиімсіздіктерді анықтау субъективті болып табылады және басқа тапсырмалардан тарту қажет болуы мүмкін жоғары білікті тұлғаларды қажет етуі мүмкін.

Параллельдік пен параллелизмді пайдаланыңыз

Параллельділік пен параллелизмді пайдалану есептеу ресурстарын тиімді пайдалану үшін бірнеше тапсырмаларды немесе процестерді бір уақытта немесе қайталанатын түрде орындауды қамтиды. Бұл әдістер жалпы өткізу қабілеттілігін және жұмыс жүктемесі өңдей алатын тапсырмалар санын арттырады. Тапсырмаларды қатар немесе параллель орындаған кезде, ол қолданбаның орындалу уақытын қысқартуы және жауап беру уақытын көбейтуі мүмкін.

Параллельдік және параллельдік жұмыс жүктемесін есептеу ресурстары арасында тиімді бөледі. Параллельдікті немесе параллельдікті арттырған кезде, басқа жүйелерге әсерін ескеріңіз, себебі олардың шегінен асып кетуіңіз мүмкін. Мысалы, әр элементті бір уақытта өңдейтін Power Automate ағынындағы бір мезгілде цикл цикл логикасында пайдаланылатын қосқыштың сұрау шегінен асып кетуі мүмкін.

Параллелизмді қолданыңыз. Параллельдік жүйенің бірнеше есептеу ресурстарында бірнеше тапсырмаларды немесе процестерді бір уақытта іске қосу мүмкіндігі. Параллельдік жұмыс жүктемесін параллель орындалатын кішірек тапсырмаларға бөледі. Логиканы параллель орындаған кезде өнімділік жақсарады, себебі жұмыс жүктемесі бірнеше тармақтар бойынша таратылады.

Сәйкестікті пайдаланыңыз. Параллельдік - жүйенің бірнеше тапсырмаларды немесе процестерді орындау мүмкіндігі. Параллельдік жұмыс жүктемесінің әртүрлі бөліктеріне өз бетінше прогреске жетуге мүмкіндік береді, бұл жалпы өнімділікті жақсартады.

  • Бір мезгілде орындау: Бір мезгілде орындау бірдей логиканы бір уақытта орындауға мүмкіндік береді. Бір мезгілде орындауды біреуімен шектеу логиканы сериялау әсеріне ие болуы мүмкін, нәтижесінде бір уақытта бір элементті өңдеуге әкеледі. Жұмыс жүктемесінің элементтерінің бір мезгілде орындалу көлемін бақылау өңдеу кезінде ресурстарды пайдалануды басқаруға көмектеседі. Мысалы, Power Automate ағындық циклдарды Concurrent Control сипатын пайдаланып параллельді бірнеше әрекеттерді өңдеуге теңшеуге болады.

    Ескертпе

    Параллельдікті қоспас бұрын, бұл бірнеше әрекеттің бір уақытта орындалатынын білдіретінін есте сақтаңыз — егер сіз деректерді цикл бөлігі ретінде жазып жатсаңыз, деректердің тағайындалған жері бір уақыттағы сұрауларды өңдей алатынына көз жеткізіңіз.

  • Кезектер: Кезек сұраушы құрамдас (өндіруші) мен жұмыс жүктемесінің өңдеу құрамдас бөлігі (тұтынушы) арасында орналасқан сақтау буфері болып табылады. Бір кезек үшін бірнеше тұтынушы болуы мүмкін. Тапсырмалар көбейген сайын сұранысты қанағаттандыру үшін тұтынушыларды масштабтау керек. Өндіруші тапсырмаларды кезекке қояды. Тұтынушының сыйымдылығы болғанша кезек тапсырмаларды сақтайды. Кезек сұраныстың ең жоғары деңгейіне жеткен өңдеу қызметіне жұмысты тапсырудың ең жақсы жолы болып табылады. Қосымша ақпарат алу үшін Кезекке негізделген жүктемені теңестіру үлгісі және Сақтау кезектері және Қызметтік автобус кезектері бөлімін қараңыз.

Фондық тапсырмаларды оңтайландыру

Көптеген қолданбалар пайдаланушы интерфейсінен тәуелсіз жұмыс істейтін фондық тапсырмаларды қажет етеді. Қолданба жұмысты бастап, пайдаланушылардың интерактивті сұрауларын өңдеуді жалғастыра алады. Фондық тапсырмалардың мысалдары пакеттік тапсырмаларды, процессорды көп қажет ететін тапсырмаларды және жұмыс үрдістері сияқты ұзақ орындалатын процестерді қамтиды. Фондық тапсырмалар қолданбаны блоктамауы немесе жүйе жүктелген кезде кешіктірілген жұмыс салдарынан сәйкессіздіктерді тудырмауы керек. Фондық тапсырмаларды оңтайландыру туралы қосымша ақпаратты қараңыз Фондық жұмыстарды әзірлеу бойынша ұсыныстар.

Power Platform жеңілдету

Құрал-саймандық код : Кенеп қолданбаларын құру кезінде қолданбаның тиімділігін арттыру үшін орындау үлгілерін пайдалану керек, ал анти-үлгілерден аулақ болу керек. Қосымша ақпарат алу үшін қараңыз Орындаушыны құруға шолу Power Apps. Әзірлеу кезінде өнімділік мәселелерін диагностикалау және ақаулықтарды жою үшін Мониторды in Power Apps пайдаланыңыз.

Код логикасын оңтайландыру: шешім тексерушісі мүмкіндігімен шешімдеріңізде ең жақсы тәжірибе ережелерінің жиынтығына қарсы бай статикалық талдауды тексеруге болады. және проблемалық үлгілерді тез анықтау. Ағынды тексеру құралының көмегімен ағынды жүзеге асырудың қай салалары өнімділікке қауіп төндіретіні туралы түсінік алуға болады?

Параллельділік пен параллелизмді пайдалану: Power Automate бұлттық ағындар циклдар мен триггерлердегі параллельділікке қолдау көрсетеді. параметрлік, циклдік және дебаттық шектеулер қолданылатынын және өнімділік профиліңізге негізделгенін ескеріңіз. Power Apps Бір мезгілде функциясын пайдаланып параллельділікке қолдау көрсету.

Оңтайландыру Dataverse өнімділік: Microsoft Dataverse әзірлеушілерге жоғары теңшелген және бейімделген тәжірибелерді құруға мүмкіндік беретін кеңейтілген құрылымды қамтамасыз етеді. Dataverseтеңшеу, кеңейту немесе біріктіру кезінде белгіленген нұсқаулар мен ең жақсы тәжірибелерден хабардар болыңыз. Microsoft Dataverseпайдалану кезіндегі ең жақсы тәжірибелер мен нұсқауларды қараңыз.

Келесіні де қараңыз:

Өнімділік тиімділігін тексеру тізімі

Ұсыныстардың толық жинағын қараңыз.