İzleme

Performans optimizasyonu, genellikle gecikme ve işleme hızıyla ilgili temel metriklerin belirlenmesiyle başlar. Bu metrikleri yakalamak ve izlemek için izlemenin eklenmesi, uygulamada zayıf noktaları ortaya çıkarır. Metriklerle, performans metriklerini iyileştirmek için optimizasyon yapılabilir.

Buna ek olarak, birçok izleme aracı, metrikleriniz için uyarılar oluşturmanıza olanak tanır. Böylece belirli bir eşiğe ulaşıldığında bildirim alırsınız. Örneğin, başarısız isteklerin yüzdesi normal düzeylerin% x'inden fazla arttığında sizi bilgilendirecek bir uyarı oluşturabilirsiniz. İzleme araçları, normal performansın nasıl göründüğünü belirlemenize; gecikme, hata miktarları ve diğer önemli metriklerdeki olağan dışı ani artışları tespit etmenize yardımcı olabilir. Bu metrikleri izleyebilmek özellikle iş açısından kritik zaman aralıklarında veya üretime yeni kod gönderildikten sonra önemlidir.

Gecikme metriklerini belirleme

Kullanıcıların mobil uygulamalardan daha da yüksek standartlar beklediklerini belirterek kullanıcı arayüzünüzün mümkün olduğunca hızlı yanıt verdiğinden emin olun. Gecikme, özellikle işaretlenmediği takdirde işleme hızı sorunlarına yol açabileceğinden arka uç hizmetleri için de ölçülmeli ve izlenmelidir.

İzlemeniz önerilen metrikler arasında aşağıdakiler bulunmaktadır:

  • İstek süresi
  • Alt sistem ayrıntı düzeyinde istek süresi (API çağrıları gibi)
  • İş süresi

İşleme hızı metriklerini belirleme

İşleme hızı, belirli bir süre boyunca sunulan toplam istek sayısının ölçümüdür. İşleme hızı, alt sistemlerin gecikmesinden etkilenebilir. Bu nedenle işleme hızını iyileştirmek için gecikmeyi optimize etmeniz gerekebilir.

İzlemeniz için önerilen bazı metrikler aşağıda belirtilmiştir:

  • Saniyedeki sorgu sayısı
  • Saniye başına aktarılan veri boyutu
  • Saniye başına G/Ç işlemi sayısı
  • CPU veya bellek kullanımı gibi kaynak kullanımı
  • İşleme iş listesinin boyutu (pub/sub veya iş parçacığı sayısı gibi)

Sadece kötü değil

Performans ölçümünde yaygın olarak yapılan bir hata, yalnızca ortalama (ortalama) duruma bakmaktır. Rapor, faydalı olmakla birlikte gecikme dağılımı hakkında bilgi vermez. İzlenecek daha iyi bir metrik, performans yüzdelikleridir (ör. bir metrik için 50./75./90./99. yüzdelik dilim).

Optimizasyon işlemi genellikle iki adımda gerçekleştirilebilir. İlk olarak, 90. yüzdelik gecikme için optimizasyon yapın. Daha sonra kuyruk gecikmesi olarak da bilinen 99. yüzdelik dilimi, yani isteklerin tamamlanmasının çok daha uzun sürdüğü küçük kısmı göz önünde bulundurun.

Ayrıntılı sonuçlar için sunucu tarafı izleme

İzleme metrikleri için genellikle sunucu tarafı profil oluşturma tercih edilir. Sunucu tarafı kullanmak genellikle çok daha kolaydır, daha ayrıntılı verilere erişim sağlar ve bağlantı sorunlarından kaynaklanan kesintilere daha az maruz kalır.

Uçtan uca görünürlük için tarayıcı izleme

Tarayıcı profili oluşturma, son kullanıcı deneyimiyle ilgili ek bilgiler sağlayabilir. Bu rapor, hangi sayfaların yavaş isteklere sahip olduğunu gösterebilir. Daha sonra bu verileri, daha ayrıntılı analiz için sunucu tarafı izlemeyle ilişkilendirebilirsiniz.

Google Analytics, sayfa zamanlamaları raporunda sayfa yüklenme süreleri için kullanıma hazır izleme olanağı sunar. Bu, sitenizdeki kullanıcı deneyimini anlamak için özellikle çok faydalı görünümler sağlar:

  • Sayfa yükleme süreleri
  • Yükleme sürelerini yeniden yönlendir
  • Sunucu yanıt süreleri

Bulutta izleme

Uygulamanızın performans metriklerini yakalamak ve izlemek için kullanabileceğiniz birçok araç vardır. Örneğin, Google Cloud Logging'i kullanarak performans metriklerini Google Cloud Projenize kaydedebilir, ardından günlüğe kaydedilen metrikleri izlemek ve segmentlere ayırmak için Google Cloud Monitoring'de kontrol panelleri oluşturabilirsiniz.

Python istemci kitaplığındaki özel bir önleyiciden Google Cloud Logging'e giriş yapma örneğini görmek için Logging kılavuzuna göz atın. Google Cloud'da sunulan bu veriler sayesinde, Google Cloud Monitoring üzerinden uygulamanıza görünürlük kazandırmak için günlüğe kaydedilen verilerin üzerinde metrikler derleyebilirsiniz. Google Cloud Logging'e gönderilen günlükleri kullanarak metrik oluşturmak için kullanıcı tanımlı günlük tabanlı metriklerle ilgili kılavuzu inceleyin.

Alternatif olarak, kodunuzdaki metrikleri tanımlamak ve günlüklerden ayrı olarak doğrudan Monitoring'e göndermek için Monitoring istemci kitaplıklarını kullanabilirsiniz.

Günlük tabanlı metrik örneği

Uygulamanızdaki hata oranlarını daha iyi anlamak için is_fault değerini izlemek istediğinizi varsayalım. Günlüklerdeki is_fault değerini yeni bir sayaç metriğine (ErrorCount) çıkarabilirsiniz.

Metrik yapılandırması

Metriklerdeki filtreler ve etiketler

Cloud Logging'de etiketler, metriklerinizi günlüklerdeki diğer verilere dayanarak kategoriler halinde gruplandırmanıza olanak tanır. Hata sayısının Google Ads API yöntemi tarafından nasıl ayrıldığını incelemek isterseniz Cloud Logging'e gönderilen method alanı için bir etiket yapılandırabilirsiniz.

ErrorCount metriği ve Method etiketi yapılandırılmış olduğunda, ErrorCount metriğini izlemek için Method metriğine göre gruplandırılmış bir Monitoring kontrol panelinde yeni bir grafik oluşturabilirsiniz.

ErrorCount kontrol paneli

Uyarılar

Cloud Monitoring ve diğer araçlarda, uyarıların metrikleriniz tarafından ne zaman ve nasıl tetikleneceğini belirten uyarı politikaları yapılandırmak mümkündür. Cloud Monitoring uyarılarını ayarlama talimatları için uyarı kılavuzundaki talimatları uygulayın.