Performans optimizasyonu, genellikle gecikme ve aktarım hızıyla ilgili temel metriklerin tanımlanmasıyla başlar. Bu metrikleri yakalamak ve izlemek için izlemenin eklenmesi, uygulamadaki zayıf noktaları ortaya çıkarır. Performans metriklerini iyileştirmek için metrikler kullanılarak optimizasyon yapılabilir.
Ayrıca birçok izleme aracı, belirli bir eşik karşılandığında bildirim alabilmeniz için metrikleriniz için uyarılar oluşturmanıza olanak tanır. Örneğin, başarısız isteklerin yüzdesi normal seviyelerin% x'inden fazla arttığında sizi bilgilendirecek bir uyarı oluşturabilirsiniz. İzleme araçları, normal performansın nasıl göründüğünü belirlemenize ve gecikme, hata miktarları ve diğer önemli metriklerde olağan dışı artışları tespit etmenize yardımcı olabilir. Bu metrikleri izleyebilmek özellikle işletme açısından kritik zaman aralıklarında veya yeni kod üretime gönderildikten sonra önemlidir.
Gecikme metriklerini tanımlama
Kullanıcıların mobil uygulamalardan daha da yüksek standartlar beklediğini göz önünde bulundurarak kullanıcı arayüzünüzü olabildiğince duyarlı tuttuğunuzdan emin olun. Gecikme, özellikle kontrol edilmezse aktarım sorunları oluşturabileceğinden arka uç hizmetleri için de ölçülmeli ve izlenmelidir.
Takip etmeniz önerilen metrikler arasında şunlar yer alır:
- İstek süresi
- Alt sistem ayrıntı düzeyinde istek süresi (API çağrıları gibi)
- İş süresi
Veri işleme hızı metriklerini belirleme
Aktarım hızı, belirli bir dönemde sunulan toplam istek sayısının bir ölçümüdür. İşleme hızı, alt sistemlerin gecikmesinden etkilenebilir. Bu nedenle, işleme hızını artırmak için gecikmeyi optimize etmeniz gerekebilir.
İzlenmesi önerilen bazı metrikler aşağıda verilmiştir:
- 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 iş listesinin boyutu (ör. pub/sub veya iş parçacıklarının sayısı)
Ortalama değerden
Performansı ölçerken yaygın olarak yapılan bir hata, yalnızca ortalama (ortalama) duruma bakmaktır. Bu bilgi faydalı olsa da gecikmenin dağılımı hakkında bilgi sağlamaz. İzlenmesi daha iyi bir metrik, performans yüzdelik dilimleridir (ör. bir metrik için 50./75./90./99. yüzdelik dilim).
Genel olarak optimizasyon iki adımda yapılabilir. Öncelikle 90. yüzdelik dilim gecikmesi için optimizasyon yapın. Ardından, kuyruk gecikmesi olarak da bilinen 99. yüzdelik dilimi göz önünde bulundurun: İsteklere ait küçük bir kısmın tamamlanmasının çok daha uzun sürmesi.
Ayrıntılı sonuçlar için sunucu tarafı izleme
Sunucu tarafı profil oluşturma, genellikle metrikleri izlemek için tercih edilir. Sunucu tarafı genellikle çok daha kolay enstrümante edilir, daha ayrıntılı verilere erişim sağlar ve bağlantı sorunlarından kaynaklanan bozulmalara daha az maruz kalır.
Uçtan uca görünürlük için tarayıcı izleme
Tarayıcı profilleme, son kullanıcı deneyimi hakkında ek analizler sağlayabilir. Hangi sayfaların yavaş istekleri olduğunu gösterebilir. Daha ayrıntılı analiz için bu sayfaları sunucu tarafı izlemeyle ilişkilendirebilirsiniz.
Google Analytics, sayfa zamanlamaları raporunda sayfa yükleme süreleri için kullanıma hazır izleme sağlar. Bu sayede, sitenizdeki kullanıcı deneyimini anlamak için özellikle aşağıdakiler gibi çeşitli faydalı görünümler elde edebilirsiniz:
- Sayfa yüklenme 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 müdahaleciden Google Cloud Logging'e günlük kaydı yapmayla ilgili örnek için Günlük kaydı kılavuzuna göz atın. Google Cloud'da bulunan bu verilerle, Google Cloud Monitoring aracılığıyla uygulamanızla ilgili görünürlük elde etmek için günlük verilerin üzerine metrik 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ı metrikler kılavuzundaki adımları uygulayın.
Alternatif olarak, kodunuzda 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ği olan ErrorCount
'a ayıklayabilirsiniz.
Cloud Logging'da etiketler, metriklerinizi günlüklerdeki diğer verilere göre kategorilere ayırmanıza olanak tanır. Hata sayısının Google Ads API yöntemine göre nasıl ayrıldığını görmek için Cloud Logging'a gönderilen method
alanı için bir etiket yapılandırabilirsiniz.
ErrorCount
metriği ve Method
etiketi yapılandırıldığında, ErrorCount
'ü Method
'ye göre gruplandırarak izlemek için Monitoring kontrol panelinde yeni bir grafik oluşturabilirsiniz.
Uyarılar
Cloud Monitoring'da ve diğer araçlarda, metrikleriniz tarafından uyarıların ne zaman ve nasıl tetiklenmesi gerektiğini belirten uyarı politikalarını yapılandırabilirsiniz. Cloud Monitoring uyarılarını ayarlamayla ilgili talimatlar için uyarı kılavuzunu inceleyin.