Azure Application Insights ile performans sorunlarını bulma ve tanılama
Azure Application Insights, uygulamanızdan çalışma ve performans analizine yardımcı olan telemetri verileri toplar. Bu bilgileri kullanarak gerçekleşmekte olan sorunları belirleyebilir veya uygulamanın geliştirilmesi durumunda kullanıcıları en çok etkileyecek özelliklerini belirleyebilirsiniz. Bu öğreticide hem uygulamanızın sunucu bileşenlerinin performansını hem de istemcinin bakış açısını analiz etme süreci adım adım gösterilir. Aşağıdakileri nasıl yapacağınızı öğrenirsiniz:
- Sunucu tarafı işlemlerin performansını belirleme
- Düşük performansın kök nedenini belirlemek için sunucu işlemlerini analiz etme
- En yavaş istemci tarafı işlemleri belirleme
- Sorgu dilini kullanarak sayfa görüntülemelerinin ayrıntılarını analiz etme
Önkoşullar
Bu öğreticiyi tamamlamak için:
- aşağıdaki iş yükleriyle Visual Studio 2019 ' i yükler:
- ASP.NET ve web geliştirme
- Azure geliştirme
- Azure’a .NET uygulaması dağıtma ve Application Insights SDK’sını etkinleştirme.
- Uygulamanız için Application Insights profil oluşturucuyu etkinleştirme.
Azure'da oturum açma
Üzerinde Azure portal oturum açın https://portal.azure.com .
Yavaş sunucu işlemlerini belirleme
Application Insights, uygulamanızdaki farklı işlemlerin performans ayrıntılarını toplar. Süresi en uzun olan işlemleri belirleyerek olası sorunları veya sürmekte olan geliştirme sürecinizin en iyi hedefini tanılayabilir ve uygulamanın genel performansını geliştirebilirsiniz.
Application Insights’ı ve sonra aboneliğinizi seçin.
Performans panelini açmak için Araştır menüsü altından Performans’ı seçin veya Sunucu Yanıt Süresi grafiğine tıklayın.

Performans panelinde uygulamaya ait her işlemin sayısı ve ortalama süresi gösterilir. Bu bilgileri kullanarak kullanıcıları en çok etkileyen işlemleri bulabilirsiniz. Bu örnekte, olası araştırma adayları süresi ve çağrı sayısı nispeten yüksek olan GET Customers/Details ve GET Home/Index işlemleridir. Süresi yüksek olsa da nadiren çağrıldığı için geliştirilmesinin çok etkili olmayacağı başka işlemler olabilir.

Grafikte şu anda, seçilen çağrıların zaman içindeki ortalama süresi gösterilmektedir. Performans sorunlarını bulmak için 95. yüzdebirliğe geçiş yapabilirsiniz. İlgilendiğiniz işlemleri grafiğe sabitleyerek ekleyin. Burada, araştırmaya değer bazı tepe noktaları olduğu görülmektedir. Grafiğin zaman aralığını kısaltarak sorunu daha iyi yalıtın.

Sağ taraftaki performans panelinde, seçilen işleme ilişkin farklı istek sürelerinin dağıtımı gösterilmektedir. 95. yüzdebirlikten başlamak için zaman aralığını kısaltın. "İlk 3 bağımlılık" içgörü kartı, dış bağımlılıkların yavaş işlemler üzerinde etkili olma olasılığını bir bakışta analiz edebilir. Örnek listesini görmek için, örnek sayısının yer aldığı düğmeye tıklayın. Ardından, işlem ayrıntılarını görmek için herhangi bir örneği seçin.
Toplam işlem süresini en çok Fabrikamaccount başlıklı Azure Tablosuna yapılan çağrının etkilediğini bir bakışta görebilirsiniz. Ayrıca, işlemin başarısız olmasına neden olan bir özel durum oluştuğunu da görebilirsiniz. Sağ tarafta ayrıntılarını görmek istediğiniz herhangi bir öğeye tıklayabilirsiniz. İşlem tanılama deneyimi hakkında daha fazla bilgi edinin

Profil Oluşturucu , işlem için çalıştırılan gerçek kodu ve her adım için gereken süreyi göstererek kod düzeyi tanılamalarla daha fazla yararlanmanıza yardımcı olur. Profil oluşturucu belirli aralıklarla çalıştığından, bazı işlemlerin izlemesi olmayabilir. Zamanla daha fazla işlemin izlemesi olmalıdır. İşlem için profil oluşturucuyu başlatmak için Profiler izlemeleri’ne tıklayın.
İzlemede her işleme yönelik olaylar tek tek gösterildiğinden, genel işlem süresinin kök nedenini tanılayabilirsiniz. Üstteki en uzun süreye sahip örneklerden birine tıklayın.
İşlemin toplam süresine en çok katkıda bulunan olayların belirli yolunu vurgulamak için etkin yol ' e tıklayın. Bu örnekte, en yavaş çağrının FabrikamFiberAzureStorage.GetStorageTableData metodundan geldiğini görebilirsiniz. En çok zaman alan bölüm CloudTable.CreateIfNotExist metodudur. İşlev her çağrıldığında bu kod satırı yürütülürse gereksiz ağ çağrısı ve CPU kaynağı tüketilir. Kodunuzu düzeltmenin en iyi yolu, bu satırı yalnızca bir kere yürütülen bir başlangıç yöntemine eklemektir.

Ekranın üstündeki Performans İpucu, sürenin uzun olmasının beklemekten kaynaklandığı değerlendirmesini destekliyor. Farklı olay türlerinin yorumlanmasına yönelik belgeler için bekliyor bağlantısına tıklayın.

Daha fazla analiz için, izlemeyi indirmek üzere Izlemeyi indir ' e tıklayabilirsiniz. PerfViewkullanarak bu verileri görüntüleyebilirsiniz.
Sunucu için günlük verilerini kullan
günlükler, Application Insights tarafından toplanan tüm verileri analiz etmenizi sağlayan zengin bir sorgu dili sağlar. Bunu kullanarak istek ve performans verileri üzerinde ayrıntılı analiz gerçekleştirebilirsiniz.
İşlem ayrıntısı paneline dönün ve günlüklerde
(Analiz)Günlükler, paneldeki her bir görünüm için bir sorgu ile açılır. Bu sorguları olduğu gibi çalıştırabilir veya gereksinimlerinize göre özelleştirebilirsiniz. İlk sorgu, zaman içinde bu işlemin süresini gösterir.

Yavaş istemci işlemlerini belirleme
Application Insights, iyileştirilecek sunucu işlemlerini belirlemeye ek olarak istemci tarayıcılarının bakış açısını da analiz edebilir. Bu, istemci bileşenlerine yönelik olası geliştirme fırsatlarını, hatta farklı tarayıcı veya konumlarla ilgili sorunları belirlemenize yardımcı olabilir.
Araştır ' ın altında tarayıcı ' yı seçin ve tarayıcı performansı özetini açmak için sağ üst köşedeki sunucu/tarayıcı geçişi düğmesine tıklayarak tarayıcı sekmesine geçin . Burada, tarayıcının bakış açısından uygulamanızın çeşitli telemetri verilerinin görsel bir özetini sağlar.

İşlem adlarından birini seçin ve ardından sağ alt köşedeki mavi örnekler düğmesine tıklayın ve bir işlem seçin. Bu, uçtan uca işlem ayrıntılarını getirecek ve sağ taraftaki sayfa görünümü özelliklerini görüntüleyemeyecektir. Bu, tarayıcı türü ve konumu dahil olmak üzere sayfayı isteyen istemcinin ayrıntılarını görüntülemenizi sağlar. Bu bilgiler, belirli istemci türleriyle ilgili performans sorunları olup olmadığını belirlemenize yardımcı olabilir.

İstemci için günlük verilerini kullan
sunucu performansı için toplanan veriler gibi Application Insights, tüm istemci verilerinin günlükler kullanılarak ayrıntılı analiz için kullanılabilir olmasını sağlar.
Tarayıcı özetine geri dönün ve Günlükler
Görünüm günlüklerde (Analiz) tıklayınGünlükler, paneldeki her bir görünüm için bir sorgu ile açılır. İlk sorgu, zaman içinde farklı sayfa görüntüleme işlemlerinin süresini gösterir.

Sonraki adımlar
Artık çalışma zamanı özel durumlarının nasıl belirleneceğini öğrendiğinize göre, hatalara yanıt olarak uyarı oluşturmayı öğrenmek için bir sonraki öğreticiye ilerleyebilirsiniz.