01Sorun ve çözüm
Yazılım performans iyileştirme çalışmasına tahminle değil, ölçümle başlıyoruz. Gerçek kullanımda en çok zaman harcanan istekleri, sorguları ve ekranları tespit ediyor, darboğazı kanıtıyla gösteriyor ve iyileştirmeleri etki ile emek oranına göre sıralıyoruz. Her değişikliğin önce ve sonra ölçülmesi, harcanan emeğin karşılığını somut olarak görmenizi sağlar.
02Kimler için
Yazılım performans iyileştirme hizmetinden kimler yararlanır
Kullanıcının beklediği her saniye bir maliyet taşıyorsa bu çalışma gündeme gelir.
- Kampanya ve indirim dönemlerinde sayfaları yavaşlayan ya da ödeme adımında hata alan e-ticaret siteleri
- Veri büyüdükçe listeleri ve raporları dakikalarca açılan kurumsal iş uygulamaları
- Mobil uygulamasında ekran geçişleri yavaş olduğu için düşük puan alan ürün şirketleri
- Sunucu faturası sürekli artan ama kullanıcı sayısı aynı oranda büyümeyen SaaS işletmeleri
- Arama motoru raporlarında sayfa deneyimi uyarıları alan içerik ve hizmet siteleri
03İhtiyaçlar
Yavaşlığın en sık rastlanan kaynakları
İnceleme sonunda bulgular çoğunlukla birkaç tanıdık başlık altında toplanır.
- 01
Veritabanı sorguları
Eksik indeksler, döngü içinde tek tek atılan sorgular ve tablonun tamamını tarayan filtreler en yaygın nedenlerdir. Tek bir sorgunun düzeltilmesi bazen bir ekranın tamamını hızlandırır.
- 02
Tekrar tekrar yapılan hesaplamalar
Nadiren değişen kategori listeleri, fiyat kuralları ya da ayarlar her istekte yeniden hesaplanır. Doğru yere konmuş bir önbellek bu yükü ortadan kaldırır.
- 03
İstek sırasında yapılan ağır işler
E-posta göndermek, PDF üretmek ya da dış bir servise bağlanmak kullanıcının beklediği istek içinde yapılırsa yanıt uzar. Bu işler arka plan kuyruğuna taşınabilir.
- 04
Ağır ön yüz ve görseller
Büyük JavaScript paketleri, optimize edilmemiş görseller ve sırayla yüklenen kaynaklar özellikle mobil bağlantıda sayfanın geç açılmasına neden olur.
04Özellikler
Ölçümden düzeltmeye çalışma adımları
Kapsamı, şikâyet edilen ekranlardan ve iş açısından en kritik akışlardan başlatıyoruz.
- 01
Başlangıç ölçümü
Kritik sayfa ve servislerin yanıt sürelerini ortalama yerine yüzdelik dilimlerle ölçüyoruz. Böylece kullanıcıların en kötü deneyimi yaşadığı durumlar da görünür olur.
- 02
Profil çıkarma ve sorgu analizi
Uygulama ve veritabanı seviyesinde hangi fonksiyonun, hangi sorgunun ne kadar süre harcadığını çıkarıyoruz; sorgu planlarını inceleyerek indeks ve yeniden yazım önerileri hazırlıyoruz.
- 03
Önceliklendirilmiş iyileştirme listesi
Bulgular beklenen etki, risk ve emek açısından sıralanır. Önce az emekle çok kazandıran düzeltmeler yapılır, mimari değişiklik gerektirenler ayrıca planlanır.
- 04
Doğrulama ve gerilemeye karşı koruma
Her düzeltmeden sonra aynı ölçüm tekrarlanır. Kritik akışlar için performans eşikleri tanımlanarak ileride yeniden yavaşlama olduğunda erkenden fark edilmesi sağlanır.
05Entegrasyonlar
Performans analizinde kullandığımız araç türleri
Mevcut izleme altyapınız varsa onu kullanıyor, yoksa ihtiyaca yetecek kadarını kuruyoruz.
- 01
Uygulama performans izleme
New Relic, Datadog, Elastic APM ya da OpenTelemetry tabanlı açık kaynak çözümler gibi araçlarla istek bazında süre dağılımı izlenir.
- 02
Veritabanı istatistikleri
PostgreSQL'de pg_stat_statements, SQL Server'da Query Store, MySQL'de yavaş sorgu kaydı gibi yerleşik araçlarla en pahalı sorgular çıkarılır.
- 03
Ön yüz ölçümleri
Lighthouse ve tarayıcı geliştirici araçlarıyla sayfa yükleme süreci incelenir; gerçek kullanıcı ölçümleri için Core Web Vitals verileri değerlendirilir.
- 04
Önbellek ve içerik dağıtımı
Redis gibi bellek içi önbellekler ve CDN katmanı, ihtiyaç görüldüğünde mevcut yapıya eklenir ya da ayarları düzenlenir.
06Süreç
Yazılım performans iyileştirme hizmeti nasıl ilerler?
Adım 01
Analiz
İş akışınızı, kullanıcılarınızı ve mevcut sistemlerinizi dinleriz; kapsamı, öncelikleri ve kabul ölçütlerini yazılı hâle getiririz.
Adım 02
Tasarım
Ekran akışlarını ve veri modelini çıkarırız. Arayüzü sizinle gözden geçirip onay almadan geliştirmeye geçmeyiz.
Adım 03
Geliştirme
Kısa döngülerle çalışırız; her döngü sonunda çalışan bir sürümü test ortamında görürsünüz.
Adım 04
Test
İşlevsel testler, entegrasyon testleri ve temel güvenlik kontrolleriyle hataları yayından önce yakalarız.
Adım 05
Yayın
Sunucu, alan adı, yedekleme ve izleme ayarlarını yaparak canlıya alırız; ekibinize kısa bir kullanım eğitimi veririz.
Adım 06
Bakım
İsterseniz bakım ve destek anlaşmasıyla güncellemeleri, izlemeyi ve yeni geliştirmeleri sürdürürüz.
07Teknoloji
Yazılım performans iyileştirmede öncelik sıramız
Daha büyük sunucuya geçmek hızlı bir çözüm gibi görünür, ancak verimsiz bir sorgu iki kat güçlü bir makinede de verimsiz çalışır ve fatura her ay tekrar eder. Bu yüzden önce kod ve veri erişimini, sonra mimariyi, en son donanımı ele alıyoruz. Ölçeği büyütmek gerçekten gerekiyorsa da bunu ölçüm verisine dayanarak öneriyoruz.
Devamını okuDaha az göster
Performans çalışması canlı sistemde iz bırakır; bir indeks eklemek bile büyük tablolarda kilitlenmeye yol açabilir. Değişiklikleri önce canlıya benzer veri hacmine sahip bir ortamda deniyor, riskli olanları düşük trafik saatlerinde ve geri alma planıyla uyguluyoruz. Test ortamına kopyalanan veride kişisel bilgiler maskelenir.
Çalışmanın sonunda, yapılan değişiklikleri ve ölçüm farklarını gösteren bir rapor ile ekibinizin aynı ölçümleri tekrar edebileceği bir kontrol listesi teslim ediyoruz.
08Çalışma modelleri
Bu hizmette çalışma modelleri
- 01
Proje bazlı
Sabit kapsam, sabit fiyat ve belirli teslim tarihi
Kapsamı belli, teslim tarihi olan işler için.
- Yazılı kapsam ve kabul ölçütleri
- Sabit fiyat ve belirli teslim tarihi
- Teslim ve kabul adımları sözleşmede
- 02
Danışmanlık
Saatlik veya günlük teknik danışmanlık
Karar, denetim veya yön belirleme gereken durumlar için.
- Saatlik veya günlük çalışma
- Yazılı rapor ve öneriler
- Ekibinizle birlikte çalışma
09Sık sorulan sorular
Yazılım performans iyileştirme hakkında sık sorulan sorular
Yazılım performans iyileştirme fiyatları neye göre değişir?
İncelenecek uygulamanın büyüklüğü, izleme altyapısının hazır olup olmadığı, sorunun tek bir ekranda mı yoksa sistem genelinde mi olduğu ve düzeltmeleri bizim mi ekibinizin mi uygulayacağı belirleyicidir. Önce sınırlı bir analizle başlayıp sonucuna göre uygulama teklifini veriyoruz.
Ne kadar hızlanacağını önceden söyleyebilir misiniz?
Ölçüm yapılmadan söylemek doğru olmaz. Analiz sonunda her bulgu için beklenen etkiyi tahmin ediyor, uygulamadan sonra gerçek farkı ölçerek raporluyoruz.
Sunucumuzu büyütmek sorunu çözmez mi?
Kısa vadede rahatlatabilir, ancak darboğaz kodda ya da sorgudaysa veri büyüdükçe sorun geri döner. Analiz, ek kaynağın gerçekten gerekip gerekmediğini netleştirir.
Kaynak kodu olmayan hazır bir yazılımı hızlandırabilir misiniz?
Sınırlı ölçüde. Veritabanı indeksleri, sunucu ayarları ve önbellek katmanında iyileştirme yapılabilir; uygulama mantığından kaynaklanan sorunlar için yazılımın sağlayıcısıyla birlikte çalışmak gerekir.
Performans iyileştirme ile yük testi arasındaki ilişki nedir?
Yük testi sistemin beklenen kullanıcı sayısında nasıl davrandığını ölçer ve darboğazları ortaya çıkarır. Performans iyileştirme ise bu darboğazları gidermeye yönelik çalışmadır; çoğu zaman ikisi birlikte planlanır.
Çalışma sırasında sistemimiz kesintiye uğrar mı?
Analiz aşaması canlı sistemi etkilemeyecek şekilde yürütülür. Uygulama aşamasında kesinti gerektirebilecek değişiklikler önceden bildirilir ve sizin belirlediğiniz bir zaman diliminde yapılır.
10İlgili hizmetler