İzleme

Performans optimizasyonu, genellikle gecikme ve işleme hızıyla ilgili olan temel metriklerin belirlenmesiyle başlar. Bu metrikleri yakalayıp izlemek için izleme özelliğinin eklenmesi, uygulamadaki zayıf noktaları ortaya çıkarır. Metrikler sayesinde performans metriklerini iyileştirmek için optimizasyon yapılabilir.

Ayrıca, birçok izleme aracı, metrikleriniz için uyarılar ayarlamanıza olanak tanır. Böylece belirli bir eşik karşılandığında bildirim alırsınız. Örneğin, başarısız isteklerin yüzdesi normal seviyelerin x%'inden fazla arttığında sizi bilgilendirecek bir uyarı ayarlayabilirsiniz. İzleme araçları, normal performansın nasıl göründüğünü belirlemenize ve gecikme, hata miktarları ve diğer önemli metriklerdeki olağan dışı artışları tespit etmenize yardımcı olabilir. Bu metrikleri izleme özelliği, özellikle işletme açısından kritik zaman aralıklarında veya yeni kodlar üretime gönderildikten sonra önemlidir.

Gecikme metriklerini belirleme

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

Takip etmeniz önerilen metrikler arasında şunlar bulunur:

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

İşleme hızı metriklerini belirleme

İşleme hızı, belirli bir süre içinde sunulan toplam istek sayısının ölçüsüdür. İşleme hızı, alt sistemlerin gecikmesinden etkilenebilir. Bu nedenle, işleme hızını artırmak için gecikme süresini optimize etmeniz gerekebilir.

İzlemeniz önerilen bazı metrikler şunlardır:

  • Saniyedeki sorgu sayısı
  • Saniyede aktarılan veri boyutu
  • Saniye başına G/Ç işlemi sayısı
  • CPU veya bellek kullanımı gibi kaynak kullanımı
  • İşleme birikiminin boyutu (ör. yayınlama/abone olma veya iş parçacığı sayısı)

Yalnızca ortalama değil

Performansı ölçerken yapılan yaygın bir hata, yalnızca ortalama duruma bakmaktır. Bu bilgi faydalı olsa da gecikme dağılımı hakkında fikir vermez. İzlenecek daha iyi bir metrik, performans yüzdelikleridir. Örneğin, bir metriğin 50./75./90./99. yüzdelik dilimi.

Genellikle optimizasyon iki adımda yapılabilir. İlk olarak, gecikmenin 90. yüzdelik dilimi için optimizasyon yapın. Ardından, kuyruk gecikmesi olarak da bilinen 99. yüzdelik dilimi göz önünde bulundurun: Tamamlanması çok daha uzun süren küçük istek bölümü.

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

Metrikleri izlemek için genellikle sunucu tarafı profilleme tercih edilir. Sunucu tarafının uygulanması genellikle çok daha kolaydır, daha ayrıntılı verilere erişime izin verir ve bağlantı sorunlarından daha az etkilenir.

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

Tarayıcı profili oluşturma, son kullanıcı deneyimi hakkında ek bilgiler sağlayabilir. Hangi sayfalarda yavaş istekler olduğunu gösterebilir. Daha sonra, daha ayrıntılı analiz için bunları sunucu tarafı izleme ile ilişkilendirebilirsiniz.

Google Analytics, sayfa zamanlamaları raporunda sayfa yükleme süreleri için kullanıma hazır izleme olanağı sunar. Bu rapor, sitenizdeki kullanıcı deneyimini anlamak için çeşitli yararlı görünümler sunar. Özellikle:

  • Sayfa yükleme süreleri
  • Yönlendirme yükleme süreleri
  • 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 kaydedilen metrikleri izlemek ve segmentlere ayırmak için Google Cloud Monitoring'de kontrol panelleri oluşturabilirsiniz.

Python istemci kitaplığındaki özel bir araya giriciden Google Cloud Logging'e günlük kaydıyla ilgili bir örnek için Günlük kaydı kılavuzuna göz atın. Google Cloud'da kullanılabilen bu verilerle, Google Cloud Monitoring üzerinden uygulamanızın görünürlüğünü artırmak için günlük verilerinin üzerinde metrikler oluşturabilirsiniz. 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 bunları 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üklerden is_fault değerini yeni bir sayaç metriğine (ErrorCount) çıkarabilirsiniz.

Metrik yapılandırması

Metriklerdeki filtreler ve etiketler

Cloud Logging'de etiketler, günlüklerdeki diğer verilere göre metriklerinizi kategoriler halinde gruplandırmanıza olanak tanır. Hata sayısının Google Ads API yöntemine göre nasıl dağıldığını görmek için methodCloud Logging'e gönderilen alana bir etiket yapılandırabilirsiniz.

ErrorCount metriği ve Method etiketi yapılandırıldığında, ErrorCount metriklerini Method etiketine göre gruplandırılmış şekilde izlemek için Monitoring kontrol panelinde yeni bir grafik oluşturabilirsiniz.

ErrorCount kontrol paneli

Uyarılar

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