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 de uygulamanız dinamik buluttaki bir üretim ortamında çalıştırıldığında zor olabilir. İşlem hattındaki isteği işleyen altyapı, çerçeve veya uygulama kodu, uygulamanızda yavaş yanıtlara neden olabilir.

Azure Application Insights'ta yapay zeka tabanlı bir hizmet olan Kod İyileştirmeleri, .NET için Application Insights Profil Oluşturucu ile birlikte çalışır. Birlikte, kod düzeyinde CPU ve bellek kullanım performansı sorunlarını algılar. Bu sorunların nasıl düzeltileceğini gösteren ö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.

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

.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 Profil Aracı tarafından toplanan profil oluşturma verilerini tanımlar, analiz eder ve çözümler. .NET Profil Oluşturucu verileri Application Insights'a yüklerken, machine learning 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.
  • Koddaki darboğazları bularak suçluyu belirler.
  • İçgörüleri temel alan kod düzeyinde performans düzeltmeleri sağlar.

Tanımla

Code İyileştirmeleri birleştirilmiş genel bakış sayfasını kullanarak Azure portal Azure aboneliklerinizde ve Application Insights kaynaklarınızda tüm Kod İyileştirmelerini görebilirsiniz.

Kod İyileştirmeleri, .NET Profiler tarafından toplanan verilerden ve etkinleştirildiyse Snapshot Debugger anlık görüntülerinden içgörüler toplar. Kodunuzda performans sorunlarını tanımlayabilir ve geliştirme, test, üretim öncesi ve üretim ortamları için kod düzeyi önerilerini gözden geçirebilirsiniz.

Analiz yap

Ortamınızın verileri .NET Profiler izlemelerinden ve Snapshot Debugger anlık görüntülerinden toplandıktan sonra, etkinleştirilirse 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ştirmeleri'ni tanımlayıp analiz ettikten sonra Azure portalındaki Ayrıntıları kopyala düğmesini kullanarak içgörü bağlamını GitHub Copilot gibi sık kullanılan aracınıza el ile getirebilirsiniz.

Azure portalındaki Kod İyileştirmeleri sayfasında bir GitHub talebi oluşturabilir ve GitHub Copilot kodlama aracısına atayabilirsiniz. Buradan, GitHub Copilot bir çekme isteği açar ve Kod İyileştirmeleri temelinde kod değişikliği işlemeleri iletir.

Tanıtım videosu

.NET için Application Insights Profil Oluşturucu

.NET Profiler, 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 senaryo ne olursa olsun Azure'de çalışan uygulamanızın performans izlemelerini yakalayabilir, tanımlayabilir ve görüntüleyebilirsiniz. .NET Profiler izleme işlemi otomatik olarak, büyük ölçekte 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şlerken en fazla zamanı harcayan yoğun kullanılan kod yolu.

Aşağıdaki tetikleyicilerle veri toplamak için tüm Azure uygulamalarınızda profil oluşturucuyu .NET için 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

Kod İyileştirmeleri, .NET için Application Insights Profiler etkinleştirildikten sonra 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. Yüksek CPU ve bellek izlemeleri ( tetikleyiciler 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.

Kod düzeyi düzeltme önerileri gibi bazı Kod İyileştirme özellikleri GitHub için Copilot veya Azure için Copilot gerektirir.

.NET Profiler'ı Etkinleştirme

Çerçeveler ve Azure hizmetleri geliştikçe, farklı seçenekleri kullanarak 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 Profiler'ı etkinleştirmek için iki seçenek arasından seçim yapabilirsiniz:
- ASP.NET Core için Application Insights Profili Oluşturucu kullanarak, Application Insights SDK'sı
- YeniAzure İzleyici OpenTelemetry Profiler for .NET (Önizleme) bu Azure İzleyici OpenTelemetry Distro kullanıyor
Azure App Service Uygulamanız için kod değişikliği yok Profil Oluşturucu önceden yüklenmiş olduğundan, Azure portalında .NET için Profiler'ı aşağıdakiler için etkinleştirebilirsiniz:
- Azure App Service - Windows üzerinde .NET uygulaması
- Azure İşlevleri - Uygulama Hizmeti planı
Virtual Machines Uygulamanız için kod değişikliği yok Uygulama kodunuzda Application Insights SDK'sı etkinleştirildikten 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. Daha fazla bilgi için bkz . Bağlantı dizesi örnekleri.

Sınırlamalar

Profiler

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

Kod İyileştirmeleri

  • Storage gereksinimleri:
    • Şu anda Kod İyileştirmeleri yalnızca varsayılan Profil Oluşturucu veya Application Insights depolama alanıyla çalışır. Kendi Depolamanı Getir (BYOS) ile uyumlu değildir.

Sorun giderme

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