Aracılığıyla paylaş


Mantığın optimize edilmesine yönelik öneriler

Bu Power Platform İyi Mimarlı Performans Verimliliği denetim listesi önerisi için geçerlidir:

PE:06 Performanslı bir mantık kullanın ve sorumlulukları platforma devrettiğinden emin olun. Mantığı yalnızca hedeflenen amaç için ve yalnızca gerektiğinde kullanın.

Bu kılavuzda, kod ve altyapı performansını en iyi duruma getirmeye yönelik öneriler açıklanmaktadır. Kodunuzu ve altyapınızı optimize etmek için bileşenlerinizi yalnızca temel amaçları için ve yalnızca gerektiğinde kullanmalısınız. Kodu ve altyapıyı aşırı kullandığınızda gereksiz kaynak tüketimi, performans sorunları ve yavaş yanıtlar oluşturur. Bu verimsizlikleri telafi etmek için, aynı görevleri gerçekleştirmek üzere daha fazla kaynak eklemeniz gerekir.

Tanımlar

Terim Açıklama
Eşzamanlılık Birden fazla görev veya işlem aynı anda gerçekleştirildiğinde, ancak tam olarak aynı anda gerçekleştirilmesi gerekmediğinde.
Paralellik Aynı anda birden fazla görev veya işlem gerçekleştirildiğinde.

Temel tasarım stratejileri

Mantığı ve altyapıyı optimize etmek, performans verimliliğini artırmak için mantığa ve destekleyici altyapıya ince ayar yapılmasını gerektirir. Görevleri hızlı bir şekilde yürüten ve kaynakları boşa harcamayan yüksek performanslı bir mantık gerektirir. Gereksiz karmaşıklığı önlemek için kolaylaştırılmış, iyi tasarlanmış bir altyapı gerektirir. Bir iş yükü, platformun doğal özelliklerini kullanmalıdır. Bu yaklaşım, hem mantığın hem de altyapının öncelikli olarak temel amaçları için ve yalnızca gerektiğinde kullanılmasını sağlamaya yardımcı olur.

Mantık performansını optimize edin

Mantık performansını en iyi duruma getirmek için, kaynak kullanımını azaltmak, çalışma zamanını en aza indirmek ve performansı artırmak için kodu değiştirin. Bir uygulamanın veya akışın verimliliğini ve hızını artırmak için mantığı değiştirebilirsiniz. Performans sorunlarını kaba kuvvetle maskelemeyin. Kaba kuvvet, kaynağı ele almak yerine fazladan kapasite eklemek gibi kod performansını telafi etmek için işlem kaynakları eklemek anlamına gelir. Optimizasyonla ilgili performans sorunlarını düzeltmeniz gerekir. Mantık performansını optimize ettiğinizde, sistem kaynaklarının kullanımını en üst düzeye çıkarmaya yardımcı olur, yanıt süresini iyileştirir, gecikmeyi azaltır ve kullanıcı deneyimini geliştirir.

Mantığınızı işaretleme

Mantığı ölçümleme, çalışma zamanı sırasında veri toplamak ve mantık performansını izlemek için özel olay günlüğü ekleme uygulamasını ifade eder. Mantığı ölçümleme, geliştiricilerin yürütme süresi gibi temel ölçümler hakkında bilgi toplamasına olanak tanır. Geliştiriciler, mantığı izleyerek mantık etkin yolları hakkında içgörüler elde edebilir, performans sorunlarını belirleyebilir ve daha iyi performans verimliliği için mantığı optimize edebilir.

İdeal olarak, yazılım geliştirme yaşam döngüsünün başlarında mantık analizi yapmanız gerekir. Bir mantık sorununu ne kadar erken yakalarsanız, düzeltmek o kadar ucuz olur. Bu mantık analizinin mümkün olduğunca çoğunu otomatikleştirmek istiyorsunuz. Manuel çabayı azaltmak için dinamik ve statik kod analiz araçlarını kullanın. Örneğin, Akış Denetleyicisi, filtre ölçütlerini belirtmeyen bir sorgu gibi performans göstermesi beklenmeyen mantığı vurgulayabilir. Ancak, bu testin hala bir üretim simülasyonu olduğunu unutmayın. Üretim, mantık optimizasyonunun en net şekilde anlaşılmasını sağlar.

Dezavantaj: Mantık izleme araçlarının maliyetleri artırması muhtemeldir.

Sık kullanılan yolları belirleme

Mantığınızı izleyerek, farklı mantık yolları için kaynak tüketimini ölçebilirsiniz. Bu ölçümler, sıcak yolları belirlemenize yardımcı olur. Sıcak yolların performans ve kaynak kullanımı üzerinde önemli bir etkisi vardır. Bunlar, yüksek performans ve düşük gecikme süresi gerektiren bir programın kritik veya sık yürütülen bölümleridir.

Kod sıcak yollarını tanımlamak için şu adımları göz önünde bulundurun:

  • Çalışma zamanı verilerini analiz etme: Çalışma zamanı verilerini toplayın ve mantığın en çok geçen süreyi tüketen alanlarını belirlemek için analiz edin. Sık yürütülen veya tamamlanması uzun süren mantık kalıplarını veya bölümlerini arayın.

  • Performansı ölçme: Farklı mantık yollarının yürütme süresini ve kaynak tüketimini ölçmek için profil oluşturma araçlarını veya performans testi çerçevelerini kullanın. Bu süreç, darboğazların ve iyileştirme alanlarının belirlenmesine yardımcı olur. Örneğin, uygulamanızın olaylarının ve formüllerinin nasıl çalıştığını daha iyi anlamak ve böylece performansı artırmak için Power Apps'deki İzleyici'yi kullanabilirsiniz.

  • İş mantığını ve kullanıcı etkisini göz önünde bulundurun: Uygulamanın işlevselliği veya kritik iş işlemleriyle ilgilerine göre farklı mantık yollarının önemini değerlendirin. Kullanıcılara değer sunmak veya performans gereksinimlerini karşılamak için hangi mantık yollarının çok önemli olduğunu belirleyin.

Mantığı optimize etme

Mantığı optimize etmek, daha az kaynakla görevleri gerçekleştirebilmek için mantığın yapısını ve tasarımını rafine etmekle ilgilidir. Geliştirilmiş mantık, gereksiz işlemleri azaltır. Daha az kaynak tüketimi ile daha hızlı yürütme oluşturur. Mantık yolunda performansı etkileyebilecek tüm gereksiz işlemleri kaldırmanız gerekir. En yüksek performans verimliliği kazanımlarını görmek için sıcak yolları optimize etmeye öncelik verin.

Mantığı en iyi duruma getirmek için aşağıdaki stratejileri göz önünde bulundurun:

  • Gereksiz işlev çağrılarını kaldırın: Mantığınızı gözden geçirin ve istenen işlevsellik için gerekli olmayan ve performansı olumsuz etkileyebilecek işlevleri belirleyin. Örneğin, bir işlev çağrısı kodda daha önce tamamlanmış bir doğrulama gerçekleştirirse, gereksiz doğrulama işlevi çağrısını kaldırabilirsiniz.

  • Günlüğe kaydetme işlemlerini en aza indirin: Günlüğe kaydetme, hata ayıklama ve analiz için yararlı olabilir, ancak aşırı günlüğe kaydetme performansı etkileyebilir. Her günlüğe kaydetme işleminin gerekliliğini değerlendirin ve performans analizi için kritik olmayan gereksiz günlük çağrılarını kaldırın. İyi bir uygulama, üretim performansı sorunlarına neden olmadan hata ayıklamaya yardımcı olmak için sisteminizin oturum açmayı açıp kapatmasına izin vermektir.

  • Döngüleri ve koşulları iyileştirin: Mantığınızdaki döngüleri ve koşulları analiz edin ve ortadan kaldırılabilecek gereksiz yinelemeleri veya koşulları belirleyin. Bu yapıları basitleştirmek ve optimize etmek, kodunuzun performansını artırabilir. Döngüler içindeki işlev çağrılarını en aza indirin ve gereksiz hesaplamaları ortadan kaldırın. Hesaplamaları döngünün dışına taşımayı göz önünde bulundurun.

  • Gereksiz veri işlemeyi azaltın: Gereksiz hesaplamalar veya dönüştürmeler gibi gereksiz veri işleme işlemleri için mantığınızı gözden geçirin. Mantığınızın verimliliğini artırmak için bu gereksiz işlemleri ortadan kaldırın. Örneğin, değeri kodda hesaplamak ve kaydetme işlemiyle depolamak yerine Dataverse hesaplanan sütun, toplama alanları veya Power Fx sütun kullanın.

  • Veri yapılarını optimize edin. Verileri verimli bir şekilde depolamak ve almak için uygun veri yapılarını ve yalnızca gerekli veri sütunlarını seçin. Belirli bir sorun için en iyi veri yapısını seçin. Uygun bir veri yapısı, uygulama performansını artırır.

  • Ağ isteklerini en aza indirin: Mantığınız ağ istekleri yapmayı içeriyorsa (örneğin, bir bağlayıcı eylemi kullanarak), istek sayısını en aza indirin ve kullanımlarını iyileştirin. Mümkün olduğunda toplu istekler yapın ve performansı artırmak için gereksiz gidiş dönüşlerden kaçının.

  • Veri yapısı boyutunu küçültün: Veri gereksinimlerini gözden geçirin ve gereksiz alanları veya özellikleri ortadan kaldırın. Uygun veri türlerini seçerek ve verileri verimli bir şekilde paketleyerek bellek kullanımını optimize edin.

  • İşleri eşzamansız yapın: Mantığınızda zaman uyumlu olarak çalışmak yerine zaman uyumsuz olarak iş yapılıp yapılamayacağını değerlendirin. Örneğin, işlemi satır içi olarak gerçekleştirmek yerine, işi eşzamansız olarak işlemek için bir Power Automate akışı uygulamayı göz önünde bulundurun.

  • Özelleştirmeden önce yapılandırın. Mümkünse standart uygulama bileşenlerini kullanın. Eklentiler ve JavaScript gibi özelleştirmeler performansı etkileyebilir.

  • Denetimleri küçültün. Formlarda yalnızca ihtiyacınız olan alanları görüntüleyin; çok fazla alan kullanıcı arabirimini karmaşık hale getirebilir ve performansı etkileyebilir. Komut çubuğundaki, tuval uygulamasındaki veya özel sayfadaki denetimlerin sayısını en aza indirin. Galerileri iç içe yerleştirmekten veya galeriye çok fazla bileşen eklemekten kaçının.

  • Veri sorgularını optimize edin. Bir uygulamada veya akışta yalnızca ihtiyacınız olan verileri yükleyin. Sorgunuzla ilgili verileri daraltmak üzere verileri önceden filtrelemek için sunucu tarafı görünümlerini kullanın.

Çalıştığınız Power Platform ürününe özel performans önerilerini inceleyin. İyileştirme alanlarını belirlemek için mantığınızı bu önerilere göre değerlendirin.

Mantığı iyileştirmek için Power Automate bulut akışı kodlama yönergeleri, Power Apps kodlama yönergeleri ve Power Automate masaüstü akışı kodlama yönergeleri hakkında daha fazla bilgi edinin.

İpucu

Kod incelemelerini gerçekleştirmek için Power CAT Araç Setini kullanın. Araç seti, bu belgedeki kodlama yönergelerinin çoğunu içerir ve çözümlerinizin verimli ve sürdürülebilir olmasını sağlar. Araç seti, bu en iyi uygulamalara uymayan tüm desenleri otomatik olarak işaretler, böylece geliştirme sürecinin başlarında olası sorunları çözebilirsiniz. Bu proaktif yaklaşım, kodunuzun kalitesini artırır ve gözden geçirme sürecini kolaylaştırmaya yardımcı olarak projelerinizde yüksek standartları korumayı kolaylaştırır. Power CAT Toolkit'i geliştirme iş akışınıza entegre etmek, çözümlerinizin sağlam bir temel üzerine kurulmasını sağlar ve daha güvenilir ve ölçeklenebilir çözümlere yol açar.

Dezavantaj: Mantığı ve etkin yolları optimize etmek uzmanlık gerektirir. Mantık verimsizliklerini belirlemek özneldir ve diğer görevlerden çekmeniz gerekebilecek yüksek vasıflı bireyler gerektirebilir.

Eşzamanlılık ve paralellik kullanma

Eşzamanlılık ve paralellik kullanmak, bilgi işlem kaynaklarını verimli bir şekilde kullanmak için birden çok görevi veya işlemi aynı anda veya çakışan bir şekilde yürütmeyi içerir. Bu teknikler genel aktarım hızını ve bir iş yükünün işleyebileceği görev sayısını artırır. Görevleri eşzamanlı veya paralel olarak çalıştırdığınızda, uygulamanın çalışma zamanını azaltabilir ve yanıt sürelerini artırabilir.

Eşzamanlılık ve paralellik, iş yükünü bilgi işlem kaynakları arasında etkili bir şekilde dağıtır. Eşzamanlılığı veya paralelliği artırırken, sınırlarını aşabileceğiniz için diğer sistemler üzerindeki etkiyi göz önünde bulundurun. Örneğin, her bir öğeyi aynı anda işleyen bir Power Automate akışındaki eşzamanlı döngü, döngünün mantığında kullanılan bir bağlayıcının istek sınırlarını aşabilir.

Paralellik kullanın. Paralellik, bir sistemin birden çok bilgi işlem kaynağında aynı anda birden çok görevi veya işlemi tetikleme yeteneğidir. Paralellik, bir iş yükünü paralel olarak çalıştırılan daha küçük görevlere böler. Mantığı paralel olarak çalıştırdığınızda, iş yükü birden çok dala dağıtıldığından performans artar.

Eşzamanlılık kullanın. Eşzamanlılık, bir sistemin birden çok görevi veya işlemi çalıştırma yeteneğidir. Eşzamanlılık, bir iş yükünün farklı bölümlerinin bağımsız olarak ilerleme kaydetmesini sağlar ve bu da genel performansı iyileştirebilir.

  • Eşzamanlı yürütme: Eşzamanlı yürütme, aynı mantığın aynı anda çalışmasına izin verir. Eşzamanlı yürütmeyi bir tanesiyle sınırlamak, mantığı seri hale getirme etkisine sahip olabilir ve bu da bir kerede bir öğenin işlenmesine neden olabilir. İş yükü öğelerinin eşzamanlı yürütme miktarını denetlemek, işleme sırasında kaynak kullanımını yönetmeye yardımcı olabilir. Örneğin, Power Automate akış döngüleri, Eşzamanlı Kontrol özelliğini kullanarak birden fazla eylemi paralel olarak işleyecek şekilde yapılandırılabilir.

    Not

    Eşzamanlılığı etkinleştirmeden önce, bunun aynı anda birden fazla eylemin gerçekleştirileceği anlamına geldiğini unutmayın; verileri döngünün parçası olarak yazıyorsanız, verilerin hedefinin eşzamanlı istekleri işleyebildiğinden emin olun.

  • Kuyruklar: Kuyruk, istekte bulunan bileşen (üretici) ile iş yükünün işleme bileşeni (tüketici) arasında bulunan bir depolama arabelleğidir. Tek bir kuyruk için birden fazla tüketici olabilir. Görevler arttıkça, tüketicileri talebi karşılayacak şekilde ölçeklendirmelisiniz. Üretici, görevleri bir kuyruğa yerleştirir. Kuyruk, tüketicinin kapasitesi olana kadar görevleri depolar. Kuyruk genellikle işi en yoğun taleple karşılaşan bir işleme hizmetine devretmenin en iyi yoludur. Daha fazla bilgi için Kuyruk Tabanlı Yük Dengeleme düzeni ve Depolama kuyrukları ve Service Bus kuyrukları konularına bakın.

Arka plan işlerini optimize edin

Birçok uygulama, kullanıcı arayüzünden bağımsız olarak çalışan arka plan görevlerine ihtiyaç duyar. Uygulama işi başlatabilir ve kullanıcılardan gelen etkileşimli istekleri işlemeye devam edebilir. Arka plan işlerine örnek olarak toplu işler, işlemciyi yoğun olarak kullanan görevler ve iş akışları gibi uzun süre çalışan işlemler verilebilir. Arka plan görevleri, uygulamayı engellememeli veya sistem yük altındayken gecikmeli işlem nedeniyle tutarsızlıklara neden olmamalıdır. Arka plan işlerini en iyi duruma getirme hakkında daha fazla bilgi için bkz: Arka plan işleri geliştirme önerileri.

Power Platform kolaylaştırma

İzleme kodu: Tuval uygulamaları oluştururken, uygulama verimliliğini artırmak için yüksek performanslı desenler kullanılmalı, ancak anti-desenlerden kaçınılmalıdır. Daha fazla bilgi için Performanslı Power Apps oluşturmaya genel bakış bölümüne bakın. Geliştirme sırasında performans sorunlarını teşhis etmek ve gidermek için Power Apps'deki İzleyici'yi kullanın.

Katılımı ve sonuçları ölçün: Aracılar oluştururken, aracı performans ölçümlerini ölçmek ve iyileştirme alanlarını keşfetmek için konuşma katılımını ve sonuçları izlemek önemlidir.

Kod mantığını optimize etme: Çözüm denetleyicisi özelliğini kullanarak, bir zengin statik çözümleme denetim çözümlerinizi en iyi yöntem kuralları kümesiyle gerçekleştirebilir ve hızlı bir şekilde bu soruna neden olan desenleri belirlemek. Akış Denetleyicisi ile akışınızın uygulanmasının hangi alanlarının performans riski oluşturduğuna dair içgörüler elde edebilirsiniz.

Eşzamanlılık ve paralellik kullanımı: Power Automate bulut akışları döngülerde ve tetikleyicilerde eşzamanlılığı destekler. Eşzamanlılık, döngü ve toplu işlemden çıkarma sınırlarının geçerli olduğunu ve bunların performans profilinize dayandığını unutmayın. Power Apps, Eşzamanlılık fonksiyonunu kullanarak eşzamanlılığı destekler.

Dataverse performansının optimize edilmesi: Microsoft Dataverse, geliştiricilerin son derece özelleştirilmiş ve uyarlanmış deneyimler oluşturmalarına olanak tanıyan genişletilebilir bir çerçeve sunar. Dataverse ile özelleştirme, genişletme veya entegrasyon yaparken yerleşik rehberliğin ve en iyi uygulamaların farkında olun. Bkz. Microsoft Dataverse kullanırken en iyi uygulamalar ve rehberlik.

Performans Verimliliği denetim listesi

Eksiksiz bir öneri kümesine bakın.