Akıllı algılama - Performans Anomalileri
Not
Application Insight kaynaklarınızı uyarı tabanlı akıllı algılamaya (önizleme) geçirebilirsiniz. Geçiş, farklı akıllı algılama modülleri için uyarı kuralları oluşturur. Oluşturulduktan sonra, diğer Azure İzleyici uyarı kuralları gibi bu kuralları yönetebilir ve yapılandırabilirsiniz. Ayrıca, bu kurallar için eylem grupları yapılandırabilir, böylece yeni algılamalarda eylem yapmak veya bildirimi tetiklemek için birden fazla yöntem etkinleştirebilirsiniz.
Geçiş işlemi hakkında daha fazla bilgi için bkz . Akıllı Algılama Uyarıları geçişi.
Application Insights , web uygulamanızın performansını otomatik olarak analiz eder ve olası sorunlar hakkında sizi uyarabilir.
Bu özellik, uygulamanızı desteklenen diliniz için Application Insights için yapılandırmak dışında özel bir kurulum gerektirmez. Uygulamanız yeterli telemetri oluşturduğunda etkindir.
Akıllı algılama bildirimini ne zaman alabilirim?
Application Insights, uygulamanızın performansının şu yollardan biriyle düşük olduğunu algılamıştır:
- Yanıt süresi düşüşü - Uygulamanız isteklere normalden daha yavaş yanıt vermeye başladı. Örneğin en son dağıtımınızda bir regresyon olduğu için değişiklik hızlı olmuş olabilir. Ya da aşamalı olabilir, belki de bir bellek sızıntısından kaynaklanıyor olabilir.
- Bağımlılık süresi düşüşü - Uygulamanız REST API'ye, veritabanına veya diğer bağımlılıklara çağrı yapar. Bağımlılık, normalden daha yavaş yanıt veriyor.
- Yavaş performans düzeni - Uygulamanızın yalnızca bazı istekleri etkileyen bir performans sorunu var gibi görünüyor. Örneğin, sayfalar bir tarayıcı türüne diğerlerinden daha yavaş yükleniyor; veya istekler belirli bir sunucudan daha yavaş sunulur. Algoritmalarımız şu anda sayfa yükleme sürelerine, istek yanıt sürelerine ve bağımlılık yanıt sürelerine bakmektedir.
Normal performans temeli oluşturmak için akıllı algılama için en az sekiz günlük yeterli telemetri birimi gerekir. Uygulamanız bu süre boyunca çalıştırıldıktan sonra önemli anomaliler bildirimle sonuçlanır.
Uygulamamda kesinlikle sorun var mı?
Hayır, bildirim, uygulamanızın kesinlikle bir sorunu olduğu anlamına gelmez. Yalnızca konuyu daha yakından incelemeniz için bir öneridir.
Nasıl onarabilirim?
Bildirimler tanılama bilgilerini içerir. Bir örnek aşağıda verilmiştir:
Önceliklendirme. Bildirimde kaç kullanıcının veya kaç işlemin etkilendiği gösterilir. Bu bilgiler, soruna öncelik atamanıza yardımcı olabilir.
Kapsam. Sorun tüm trafiği mi yoksa yalnızca bazı sayfaları mı etkiliyor? Belirli tarayıcılarla veya konumlarla sınırlı mı? Bu bilgiler bildirimden alınabilir.
Tanılama. Genellikle bildirimdeki tanılama bilgileri sorunun niteliğini önerir. Örneğin, istek oranı yüksek olduğunda yanıt süresi yavaşlarsa, sunucunuzun veya bağımlılıklarınızın kapasitelerinin üzerinde olduğunu gösterebilir.
Aksi takdirde, Application Insights'ta Performans bölmesini açın. Profil oluşturucu verilerini burada bulabilirsiniz. Özel durumlar oluşursa anlık görüntü hata ayıklayıcısını da deneyebilirsiniz.
E-posta Bildirimlerini Yapılandırma
Akıllı algılama bildirimleri varsayılan olarak etkindir. Bunlar, Application Insights kaynağının bulunduğu aboneliğe İzleme Okuyucusu ve İzleme Katkıda Bulunanı erişimi olan kullanıcılara gönderilir. Varsayılan bildirimi değiştirmek için e-posta bildiriminde Yapılandır'a tıklayın veya Application Insights'ta Akıllı algılama ayarlarını açın.
- Varsayılan bildirimi devre dışı bırakabilir ve belirtilen e-posta listesiyle değiştirebilirsiniz.
Akıllı algılama performansı anomalileri hakkındaki e-postalar, Application Insights kaynağı başına günde bir e-posta ile sınırlıdır. E-posta yalnızca o gün algılanan en az bir yeni sorun varsa gönderilir. Hiçbir iletinin tekrarını almazsınız.
Sık sorulan sorular
Microsoft personeli verilerime mi bakıyor?
Application Insights tarafından toplanan tüm verileri analiz mi istiyorsunuz?
- Şu anda istek yanıt süresini, bağımlılık yanıt süresini ve sayfa yükleme süresini analiz ediyoruz. Diğer ölçümlerin analizi, ileriye dönük kapsamımızdadır.
Bu algılama hangi uygulama türleri için çalışır?
- Bu düşüşler, uygun telemetriyi oluşturan herhangi bir uygulamada algılandı. Web uygulamanıza Application Insights yüklediyseniz istekler ve bağımlılıklar otomatik olarak izlenir. Ancak arka uç hizmetlerinde veya diğer uygulamalarda TrackRequest() veya TrackDependency'ye çağrılar eklediyseniz akıllı algılama da aynı şekilde çalışır.
Kendi anomali algılama kurallarımı oluşturabilir veya mevcut kuralları özelleştirebilir miyim?
- Henüz değil, ancak şunları yapabilirsiniz:
- Bir ölçümün eşiği ne zaman aştığını size haber veren uyarılar ayarlayın.
- Telemetri verilerini bir veritabanına veya Power BI'a aktarın; burada kendiniz analiz edebilirsiniz.
- Henüz değil, ancak şunları yapabilirsiniz:
Analiz ne sıklıkta yapılır?
- Analizi önceki güne ait telemetride günlük olarak (UTC saat diliminde tam gün) çalıştırıyoruz.
Bu, ölçüm uyarılarının yerini alır mı?
- Hayır Anormal olarak kabul edebileceğiniz her davranışı algılamayı taahhüt etmeyiz.
Bildirime yanıt olarak hiçbir şey yapmazsam bir anımsatıcı alır mıydım?
- Hayır, her sorun hakkında yalnızca bir kez ileti alırsınız. Sorun devam ederse, akıllı algılama akışı bölmesinde güncelleştirilir.
E-postayı kaybettim. Portalda bildirimleri nerede bulabilirim?
- Uygulamanızın Application Insights'a genel bakış bölümünde Akıllı algılama kutucuğuna tıklayın. Burada 90 güne kadar olan tüm bildirimleri bulabilirsiniz.
Performansı nasıl geliştirebilirim?
Yavaş ve başarısız yanıtlar, kendi deneyiminizden bildiğiniz gibi web sitesi kullanıcıları için en büyük sıkıntılardan biridir. Bu nedenle, sorunları çözmek önemlidir.
Önceliklendirme
İlk olarak, fark eder mi? Bir sayfanın yüklenmesi her zaman yavaşsa ancak sitenizin kullanıcılarının yalnızca %1'i sayfaya bakmak zorunda kalırsa, belki de düşünmeniz gereken daha önemli şeyler vardır. Ancak, kullanıcıların yalnızca %1'i bunu açarsa ancak her seferinde özel durumlar oluşturursa, bu araştırmaya değer olabilir.
Etkilenen kullanıcılar veya trafik yüzdesi gibi etki deyimini genel bir kılavuz olarak kullanın. Tüm hikayeyi anlatmayabileceğini unutmayın. Onaylamak için başka kanıtlar toplayın.
Sorunun parametrelerini göz önünde bulundurun. Coğrafyaya bağlıysa, bu bölge de dahil olmak üzere kullanılabilirlik testlerini ayarlayın: Bu alanda ağ sorunları olabilir.
Yavaş sayfa yüklemelerini tanılama
Sorun nerede? Sunucu yavaş yanıt veriyor mu, sayfa çok mu uzun yoksa tarayıcıyı görüntülemek için çok fazla çalışma mı gerekiyor?
Tarayıcılar ölçüm bölmesini açın. Tarayıcı sayfası yükleme süresinin bölümlenmiş görüntüsü, saatin nereye gittiğini gösterir.
- İstek Gönderme Süresi yüksekse, sunucu yavaş yanıt veriyordur veya istek büyük miktarda veri içeren bir gönderidir. Yanıt sürelerini araştırmak için performans ölçümlerine bakın.
- Yavaşlığın dış hizmetlerden mi yoksa veritabanınızdan mı kaynaklandığını görmek için bağımlılık izlemeyi ayarlayın.
- Yanıt Alma ağırlıklıysa, sayfanız ve bağımlı bölümleri (JavaScript, CSS, görüntüler vb.) uzundur (ancak zaman uyumsuz olarak yüklenmemiş veriler). Bir kullanılabilirlik testi ayarlayın ve bağımlı bölümleri yükleme seçeneğini ayarladığınızdan emin olun. Bazı sonuçlar aldığınızda, bir sonucun ayrıntılarını açın ve farklı dosyaların yükleme sürelerini görmek için genişletin.
- Yüksek İstemci İşleme süresi betiklerin yavaş çalıştığını gösterir. Nedeni açık değilse, bazı zamanlama kodu eklemeyi ve trackMetric çağrılarında saatleri göndermeyi göz önünde bulundurun.
Yavaş sayfaları geliştirme
Sunucu yanıtlarınızı ve sayfa yükleme sürelerinizi iyileştirmeye yönelik öneriler içeren bir web var, bu nedenle hepsini burada yinelemeye çalışmayacağız. İşte, düşünmenizi sağlamak için muhtemelen zaten bildiğiniz birkaç ipucu:
- Büyük dosyalar nedeniyle yavaş yükleme: Betikleri ve diğer bölümleri zaman uyumsuz olarak yükleyin. Betik paketlemeyi kullanın. Ana sayfayı, verilerini ayrı olarak yükleyen pencere öğelerine bölün. Uzun tablolar için düz eski HTML göndermeyin: Verileri JSON veya başka bir sıkıştırılmış biçim olarak istemek için bir betik kullanın, ardından tabloyu yerine doldurun. Bu tür görevlere yardımcı olacak harika çerçeveler vardır. (Bunlar büyük betikler de içerir elbette.)
- Yavaş sunucu bağımlılıkları: Bileşenlerinizin coğrafi konumlarını göz önünde bulundurun. Örneğin, Azure kullanıyorsanız web sunucusunun ve veritabanının aynı bölgede olduğundan emin olun. Sorgular ihtiyaç duyduklarından daha fazla bilgi alır mı? Önbelleğe alma veya toplu işlem yardımı olur mu?
- Kapasite sorunları: Yanıt sürelerinin ve istek sayılarının sunucu ölçümlerine bakın. yanıt süreleri istek sayılarındaki artışlarla orantısız bir şekilde zirveye çıkarsa, büyük olasılıkla sunucularınız esnetilir.
Sunucu Yanıt Süresi Düşüşü
Yanıt süresi düşüş bildirimi size şunu söyler:
- Bu işlemin normal yanıt süresiyle karşılaştırıldığında yanıt süresi.
- Etkilenen kullanıcı sayısı.
- Algılama gününde ve yedi gün öncesinde bu işlem için ortalama yanıt süresi ve 90. yüzdebirlik yanıt süresi.
- Bu işlem isteklerinin algılama günü ve yedi gün önceki sayısı.
- Bu işlemdeki düşüş ile ilgili bağımlılıklardaki düşüşler arasındaki bağıntı.
- Sorunu tanılamanıza yardımcı olacak bağlantılar.
- Profil oluşturucu izlemeleri, işlem zamanının nereye harcandığı görüntülemenize yardımcı olabilir. Bu işlem için Profil Oluşturucu izleme örnekleri varsa bağlantı kullanılabilir.
- Ölçüm Gezgini'nde bu işlem için zaman aralığını/filtrelerini dilimleyebileceğiniz ve dilimleyebileceğiniz performans raporları.
- Belirli arama özelliklerini görüntülemek için bu çağrıyı arayın.
- Hata raporları - Sayı > 1 ise, bu işlemde performans düşüşü için katkıda bulunmuş olabilecek hatalar olduğu anlamına gelir.
Bağımlılık Süresi Düşüşü
Modern uygulamalar genellikle çoğu durumda dış hizmetlere yoğun bir şekilde bağımlı olan bir mikro hizmet tasarım yaklaşımı benimser. Örneğin, uygulamanız bir veri platformuna veya Azure AI hizmetleri gibi kritik bir hizmet sağlayıcısına dayalıysa.
Bağımlılık düşüşü bildirimi örneği:
Size şunu anlattığına dikkat edin:
- Bu işlemin normal yanıt süresiyle karşılaştırıldığında süre
- Etkilenen kullanıcı sayısı
- Algılama gününde ve yedi gün öncesinde bu bağımlılık için ortalama süre ve 90. yüzdebirlik dilim süresi
- Algılama günü ve yedi gün önceki bağımlılık çağrılarının sayısı
- Sorunu tanılamanıza yardımcı olacak bağlantılar
- Bu bağımlılık için Ölçüm Gezgini'ndeki performans raporları
- Arama özelliklerini görüntülemek için bu bağımlılık çağrılarını arayın
- Hata raporları - Sayı > 1 ise, algılama süresi boyunca süre düşüşü için katkıda bulunmuş olabilecek başarısız bağımlılık çağrıları olduğu anlamına gelir.
- Bu bağımlılık süresini ve sayısını hesaplayan sorgularla Analytics'i açın
Yavaş performans gösteren desenleri akıllı algılama
Application Insights, kullanıcılarınızın yalnızca bir bölümünü etkileyebilecek veya bazı durumlarda yalnızca kullanıcıları etkileyebilecek performans sorunları bulur. Örneğin, bir sayfa belirli bir tarayıcı türünde diğerlerine göre daha yavaş yükleniyorsa veya belirli bir sunucu istekleri diğer sunuculardan daha yavaş işleyecekse. Ayrıca, belirli bir işletim sistemini kullanan istemciler için tek bir coğrafi alandaki yavaş sayfa yüklemeleri gibi özelliklerin birleşimleriyle ilişkili sorunları da bulabilir.
Bunlar gibi anomalileri yalnızca verileri inceleyerek tespit etmek zordur, ancak düşündüğünüzden daha yaygındır. Genellikle yalnızca müşterileriniz şikayet ettiğinde ortaya çıkarlar. O zamana kadar artık çok geç: Etkilenen kullanıcılar zaten rakiplerinize geçiyor!
Şu anda algoritmalarımız sayfa yükleme sürelerine, sunucuda istek yanıt sürelerine ve bağımlılık yanıt sürelerine bakar.
Herhangi bir eşik ayarlamanız veya kuralları yapılandırmanız gerekmez. Makine öğrenmesi ve veri madenciliği algoritmaları anormal desenleri algılamak için kullanılır.
- Sorunun algılandığı saati gösterdiğinde.
- Algılanan sorunu ve bulduğumuz olay kümesinin, sorun davranışını gösteren özelliklerini açıklar.
- Tablo, düşük performans gösteren kümeyi diğer tüm olayların ortalama davranışıyla karşılaştırır.
Yavaş performans gösteren kümenin saat ve özelliklerine göre filtrelenmiş raporları görüntülemek için Ölçüm Gezgini'ni açmak için bağlantılara tıklayın.
Telemetriyi keşfetmek için zaman aralığını ve filtreleri değiştirin.
Sonraki adımlar
Bu tanılama araçları, uygulamanızdan telemetriyi incelemenize yardımcı olur:
Akıllı algılama otomatiktir. Ama belki de birkaç uyarı daha ayarlamak istersiniz?