Daha hızlı sayfalar, daha hızlı sorgular, daha küçük bulut faturası.
Uygulamanızın zamanını ve parasını gerçekte nerede harcadığını ölçer, en önemli şeyleri düzeltir ve geriye kaymasını önleyen bütçeleri ve izlemeyi arkamızda bırakırız.
- Enstrümante et ve ölç
- Sırayla düzelt
- Sabitle
- Rapor
Yönetim kuruluna gösterebileceğiniz bir önce-sonra.
Yavaş yazılım iki kez para kaybettirir: bir kez bekleyen müşteriler ve çalışanlarla, bir kez de yavaşlığın kolay çözümü daha büyük bir sunucu olduğu için büyüyen bulut faturasıyla. Performans sorunlarının çoğu gizemli değildir — indekssiz bir sorgu, dört megabayt script yükleyen bir sayfa, saatte bir yeterken her dakika çalışan bir iş — ama kimse ölçmemiştir, bu yüzden herkes tahmin eder.
Biz tahmin etmeyiz. Sistemi enstrümante eder, zamanın ve paranın gerçekte nereye gittiğini bulur ve çoğunluğunu açıklayan bir avuç nedeni düzeltiriz. Sonra derlemeye performans bütçeleri bırakırız; böylece bir sayfayı yavaşlatan bir pull request yayınlanmadan başarısız olur, ve rakamları sahiplerine gösteren panolar kalır.
Teslimat, yönetim kuruluna gösterebileceğiniz bir önce-sonra karşılaştırmasıdır: iki tarafta da aynı biçimde ölçülmüş yanıt süreleri, hata oranları ve aylık maliyet.
Performansın kaybolduğu dört yer.
Her çalışma ölçümle başlar; aşağıdaki sıra düzeltmelerin genellikle geri ödediği sıradır.
Veritabanı ve sorgular
Eksik indeksler, N+1 sorgular, çok uzun tutulan kilitler, bir yıl önce bölümlenmesi gereken tablolar. Kazanımların birçoğu buradadır ve görüşlerle değil izlerle bulunur.
Uygulama ve API'ler
Paralel olabilecek seri çağrılar, eksik ya da yanlış önbellekler, ekranın ihtiyacından çok daha büyük yükler, istek yolundaki arka plan işleri. Gerçek yük altında profillenir, testlerle düzeltilir.
Ön yüz ve Core Web Vitals
Script ağırlığı, render'ı engelleyen kaynaklar, boyutsuz görseller, yerleşim kayması. Laboratuvar puanıyla değil gerçek kullanıcı verisiyle ölçülür ve CI'da uygulanan bir bütçeye karşı rota rota düzeltilir.
Altyapı ve maliyet
Doğru boyutlandırılmış sunucular, gerçekten küçülen otomatik ölçekleme, depolama katmanları, boşta ortamlar, çıkış trafiği. İş yükü başına bir maliyet modeli; fatura önce açıklanır, sonra düşürülür. Bkz. DevOps & Bulut.
İş günlük olarak nasıl yürür?
Önce ölçün, en büyük nedenleri düzeltin, sabitleyin.
İş enstrümantasyonla başlar: istek yolu boyunca izler, veritabanı istatistikleri, ön yüzde gerçek kullanıcı metrikleri ve iş yükü başına maliyet dökümü. Sonuç, her birinin taşıdığı zaman ya da maliyet payıyla sıralanmış bir nedenler listesidir. En üstten düzeltir, her değişiklikten sonra yeniden ölçer ve eğri düzleştiğinde dururuz.
- Herhangi bir değişiklikten önce dağıtık izleme ve veritabanı istatistikleri
- Her düzeltme kendi başına ölçülür; rapor neyin gerçekten yardım ettiğini gösterir
- Rota ve sorgu başına performans bütçeleri, hatta uygulanır
- 01Enstrümante et
- 02Sırala
- 03Düzelt
- 04Yeniden ölç
- 05Bütçele
Önce en büyük nedenler; her biri sonrakinden önce kanıtlanır
Çalışma nasıl ilerler.
Enstrümante et ve ölç
İzleme, veritabanı istatistikleri, gerçek kullanıcı metrikleri ve maliyet dökümü. Başlangıç raporu en büyük nedenleri paylarıyla listeler.
Sırayla düzelt
En büyük nedenler tek tek düzeltilir ve yeniden ölçülür; normal hattınızdan testlerle yayınlanır.
Sabitle
CI'a performans bütçeleri eklenir, panolar ve uyarılar sahiplere devredilir, maliyet modeli belgelenir.
Rapor
Aynı ölçütlerle önce-sonra: yanıt süreleri, hata oranları, Core Web Vitals ve aylık maliyet.
Size kalanlar.
- Sıralanmış nedenler ve zaman ya da maliyet paylarıyla bir başlangıç raporu
- Kendi hattınızdan testlerle birleştirilen düzeltmeler
- Rota ve sorgu başına CI'da uygulanan performans bütçeleri
- Gecikme, hata ve maliyet için panolar ve uyarılar
- Birebir aynı ölçütlerle bir önce-sonra raporu
Doğru tercih olduğu durumlar.
Kullanıcılar hızdan şikâyet ediyorsa, bulut faturası işten hızlı büyüdüyse ya da bir lansman yaklaşıyor ve kimse sistemin dayanıp dayanmayacağını bilmiyorsa bunu seçin.
Sınır mimarinin kendisiyse — tek bir sıcak yolu ölçekleyemeyen bir monolit — dürüst cevap modernizasyondur ve bunu başlangıç ölçümünden sonra söyleriz.
Sık sorulan sorular
Bununla birlikte ilerleyen hizmetler.
Hangi sayfa ya da rapor çok yavaş?
Kullanıcıların nerede beklediğini söyleyin. Bir mühendis okur ve ölçümün neyi kapsayacağını yazılı olarak iletir.