Aracılığıyla paylaş


Kod İyileştirmeleri ile çalışma zamanı davranışını izleme ve analiz etme

Uygulamanızın performans sorunlarını tanılamak, özellikle dinamik bulutta bir üretim ortamında çalışırken zor olabilir. Uygulamanızdaki yavaş yanıtlar, işlem hattında isteği işleyen altyapı, çerçeve veya uygulama kodundan kaynaklanıyor olabilir.

Azure Uygulama Insights'ta yapay zeka tabanlı bir hizmet olan Kod İyileştirmeleri, .NET için Application Insights Profiler ile birlikte çalışarak CPU ve bellek kullanım performansı sorunlarını kod düzeyinde algılar ve bunları nasıl düzelteceğiniz konusunda öneriler sunar.

Üretim ortamınızdan toplanan gerçek zamanlı performans verilerini ve içgörüleri kullanarak bilinçli kararlar alın ve kodunuzu iyileştirin.

Kod İyileştirmelerinizi Azure portalında gözden geçirebilirsiniz.

.NET için Kod İyileştirmeleri ve Application Insights Profilleyici

.NET Profil Oluşturucu ve Kod İyileştirmeleri, performans sorunu algılamaya bütünsel bir yaklaşım sağlamak için birlikte çalışır.

Kod İyileştirmeleri

Kod İyileştirmeleri, .NET için Application Insights Profiler tarafından toplanan profil oluşturma verilerini tanımlar, analiz eder ve çözümler. .NET Profil Oluşturucusu Application Insights'a veri yüklerken, makine öğrenmesi modelimiz uygulamanın kodunun nerede iyileştirilebileceğini bulmak için bazı verileri analiz eder. Kod İyileştirmeleri:

  • Zaman içinde toplanan verileri görüntüler.
  • Verileri uygulama kodunuzdaki yöntemler ve işlevlerle bağlar.
  • Kod içinde tıkanıklıkları bularak suçluyu ayıklar.
  • İçgörüleri temel alan kod düzeyinde performans düzeltmeleri sağlar.

Tanımla

Kod İyileştirmeleri birleştirilmiş genel bakış sayfasını kullanarak Azure portalında Azure abonelikleriniz ve Application Insights kaynaklarınız genelindeki tüm Kod İyileştirme önerilerini görebilirsiniz. Kodunuzdaki performans sorunlarını belirleyin ve geliştirme, test, üretim öncesi ve üretim ortamları için kod düzeyi önerilerini gözden geçirin.

Analiz yap

Ortamınızın verileri toplandıktan sonra Kod İyileştirmeleri saatlik olarak kod düzeyi önerileri sağlar. Varsayılan olarak, toplanan veri görünümünde yakın zamanda tanımlanan sorunların sıralı 24 saatlik bir penceresi gösterilir ve geçmiş olayları gözden geçirmeniz ve çözümlemeniz için 30 günlük bir geçmiş gösterilir.

Çözümleme

Kod İyileştirme sonuçlarını tanımlayıp çözümledikten sonra, Kod İyileştirmeleri Visual Studio ve Visual Studio Code uzantılarını kullanarak kodunuzda bu sorunları çözebilirsiniz. Bu uzantılarla GitHub Copilot ile etkileşim kurarak Kod İyileştirmeleri içgörülerinde temel alınan bir kod düzeltmesi alın.

Ayrıca Azure portalındaki Kod İyileştirmeleri sayfasından bir GitHub sorunu oluşturabilir ve bunu GitHub Copilot kodlama aracısına atayabilirsiniz. Buradan GitHub Copilot bir pull talebi açar ve Kod Optimizasyonu içgörülerine dayanarak kod değişikliklerini gönderir.

Tanıtım videosu

.NET için Application Insights Profilleyici

.NET Profil Oluşturucu, milisaniyeye kadar belirli istekleri izlemeye odaklanır. Uygulamanızdaki sorunların mükemmel bir "büyük resim" görünümünü ve bunları ele almak için genel en iyi yöntemleri sağlar.

.NET için Application Insights Profiler ile senaryoya bakılmaksızın Azure'da çalışan uygulamanızın performans izlemelerini yakalayabilir, tanımlayabilir ve görüntüleyebilirsiniz. .NET Profiler izleme işlemi, büyük ölçekte otomatik olarak gerçekleşir ve kullanıcılarınızı olumsuz etkilemez. .NET Profil Oluşturucu aşağıdakileri tanımlar:

  • Müşterilerinizin yaptığı her Web isteğine ilişkin ortanca, en hızlı ve en yavaş yanıt süresi.
  • Belirli bir web isteğini işlemek için en fazla zamanı harcayan "yoğun kullanılan" kod yolu.

Aşağıdaki tetikleyicilerle veri toplamak için tüm Azure uygulamalarınızda .NET için Profiler'ı etkinleştirin:

  • Örnekleme tetikleyicisi: Profil Oluşturucu, saatte yaklaşık bir kez rastgele iki dakika boyunca çalışır.
  • CPU tetikleyicisi: CPU kullanım yüzdesi yüzde 80'in üzerinde olduğunda Profil Oluşturucu'yu başlatır.
  • Bellek tetikleyicisi: Bellek kullanımı yüzde 80'in üzerinde olduğunda Profil Oluşturucu'yu başlatır.

Bu tetikleyicilerin her biri yapılandırılabilir, etkinleştirilebilir veya devre dışı bırakılabilir.

Maliyet ve ek yük

.NET için Application Insights Profil Oluşturucu etkinleştirildikten sonra Kod İyileştirmeleri otomatik olarak oluşturulur. Varsayılan olarak, Profil Oluşturucu 30 saniye boyunca veya 30 saniye boyunca yüksek CPU veya bellek kullanımı dönemlerinde her saatte bir izlemeleri etkin olarak toplar. Saatlik izlemeler (örnekleme olarak adlandırılır) proaktif ayarlama için mükemmeldir, ancak yüksek CPU ve bellek izlemeleri (tetikleyici olarak adlandırılır) reaktif sorun giderme için kullanışlıdır.

Uyarı

.NET için Application Insights Profil Oluşturucu etkin bir şekilde çalışırken ve izlemeleri topladığında, genellikle sunucunuza %5 ile %15 arasında CPU ve bellek yükü ekler.

.NET Profiler tarafından yakalanan verileri depolamak için ek maliyet yoktur. Veriler 15 gün sonra otomatik olarak silinir.

Bazı Kod İyileştirme özellikleri (kod düzeyi düzeltme önerileri gibi) GitHub için Copilot ve/veya Azure için Copilot gerektirir.

.NET Profiler'ı etkinleştirme

Çerçeveler ve Azure hizmetleri geliştikçe, Çeşitli seçeneklerle Azure'da çalışan .NET uygulamalarınız için .NET Profiler'ı etkinleştirebilirsiniz.

Azure hizmeti Nasıl etkinleştirilir? Ayrıntılar
Çoğu Azure hizmeti Uygulamanızda kod değişikliği
en evrensel
.NET uygulamanız Azure PaaS hizmetlerinin veya Kapsayıcılarının çeşitlemelerinde çalışıyorsa, .NET Profil Oluşturucu'yu etkinleştirmek için iki seçenek arasından seçim yapabilirsiniz:
- Application Insights SDK'sını kullanan ASP.NET Core içinApplication Insights Profil Oluşturucu veya
- YeniAzure Monitor OpenTelemetry Profiler for NET (Önizleme) kullanıyor; Azure Monitor OpenTelemetry Distro
Azure App Service Uygulamanız için kod değişikliği yok Profil Oluşturucu önceden yüklendiğinden portalda .NET için Profiler'ı aşağıdakiler için etkinleştirebilirsiniz:
- Azure App Service - Windows'ta .NET uygulaması
- Azure İşlevleri - Uygulama Hizmeti planı
Sanal Makineler Uygulamanız için kod değişikliği yok Uygulama kodunuzda Application Insights SDK'sını etkinleştirdikten sonra ARM şablonunuzda .NET için Profil Oluşturucu'nun etkinleştirilmesini sağlayabilirsiniz.
- Windows için Azure Sanal Makineler ve Sanal Makine Ölçek Kümeleri
- Azure Service Fabric

.NET için Profiler'ı etkinleştirmeye yönelik ayrıntılar ve örnekler

Uyarı

Şu anda önizleme aşamasında olan Azure Monitor Application Insights için Java Profiler'ı da kullanabilirsiniz.

Desteklenen bölgeler

Kod İyileştirmeleri, Application Insights ile aynı bölgelerde kullanılabilir. Aşağıdaki komutu kullanarak kullanılabilir bölgeleri de kontrol edebilirsiniz:

az account list-locations -o table

bağlantı dizesi kullanarak açık bir bölge ayarlayabilirsiniz. Örneklerle bağlantı dizesi hakkında daha fazla bilgi edinin.

Sınırlamalar

Web uygulamalarının profilini oluşturma:

  • .NET Profiler'ı ek ücret ödemeden kullanabilirsiniz ancak web uygulamanızın en azından Azure Uygulaması Hizmeti'nin Web Apps özelliğinin temel katmanında barındırılması gerekir.
  • Her web uygulamasına yalnızca bir profil oluşturucu ekleyebilirsiniz.

Sorun giderme

Sonraki Adımlar

Azure hizmetinizde Kod İyileştirmeleri ile .NET Profil Oluşturucu'nun nasıl etkinleştirileceği hakkında bilgi edinin: