
Yazılım performans testi, pahalı araçlardan önce gerçek iş senaryosu ve hedef yükle başlar. Bu rehberde yük türlerini, darboğaz sinyallerini ve uygulanabilir bir test planını adım adım bulacaksınız.
Yazılım performans testi, uygulamanızın belirli bir kullanıcı ve işlem yükü altında yanıt süresi, kararlılık ve kaynak kullanımı açısından nasıl davrandığını ölçen sistematik bir süreçtir. Amaç, canlıya çıktıktan sonra sürpriz yavaşlık veya çökme riskini azaltmak; pahalı araç satmak değil, gerçek iş senaryosunu ve hedef yükü doğru okumaktır.
Bu rehberde performans testini KOBİ ve ürün ekiplerinin uygulayabileceği sade bir plana indiriyoruz: senaryo seçimi, yük seviyeleri, izlenecek metrikler, darboğaz yorumu ve bulgu önceliklendirme. KepezWeb ekiplerinin özel yazılım projelerinde de kullandığı bu yaklaşım, araç markasından bağımsızdır.
Yazılım Performans Testi Nedir ve Neyi Ölçer?
Performans testi, “uygulama çalışıyor mu?” sorusunu değil, “belirli koşullarda kabul edilebilir hız ve kararlılıkta çalışıyor mu?” sorusunu yanıtlar. Ölçüm odağı genellikle şunlardır:
- Yanıt süresi (sayfa, API, işlem tamamlama)
- İşlem hacmi (saniyede veya dakikada tamamlanan istek/sipariş sayısı)
- Hata oranı ve zaman aşımı
- CPU, bellek, disk ve ağ kullanımı
- Kuyruk uzunluğu, veritabanı kilitleri, yavaş sorgu sayısı
Fonksiyonel testler doğru sonucu doğrular; performans testi ise aynı sonucun yük altında da sürdürülebilir olup olmadığını inceler. İkisi birbirinin yerine geçmez; birlikte planlandığında canlı riski belirgin biçimde düşer.
Gerçek İş Senaryosu ve Hedef Yük Nasıl Belirlenir?
İyi bir yazılım performans testi, “bin sanal kullanıcı” gibi soyut sayılardan değil, işin gerçek akışlarından başlar. Önce en kritik kullanıcı yollarını yazın:
- E-ticarette ürün arama, sepete ekleme, ödeme
- Panelde rapor çekme veya toplu kayıt güncelleme
- Mobil API üzerinden oturum açma ve sık kullanılan endpoint’ler
- Kampanya günü veya ay sonu gibi zirve dönemleri
Her senaryo için hedef yükü üç katmanda netleştirin: normal gün, beklenen zirve ve kısa süreli ani sıçrama. Sayıları tahmin etmek yerine mevcut erişim günlükleri, satış takvimi veya destek taleplerindeki yoğun saatlere bakın. Veri yoksa ürün sahibi ve operasyon ekibiyle “kaç eşzamanlı işlem kabul edilebilir?” sorusunu yazılı hale getirin. Rollerin netliği burada kritiktir; kim hedefi onaylar, kim test koşar, kim iyileştirme önceliğini verir konuları yazılım projesi rolleri çerçevesinde netleştirmek sürecin dağılmasını engeller.
Yük, Stres, Ani Yük ve Dayanıklılık: Hangisi Ne İşe Yarar?
Tek bir “performans testi” yoktur. Senaryoya göre test türünü ayırın; aksi halde sonuçları yanlış yorumlarsınız.
| Test türü | Amaç | Pratik kullanım |
|---|---|---|
| Yük testi | Beklenen normal ve zirve yükte davranış | Canlıya çıkış öncesi kabul eşiği |
| Stres testi | Sistemin kırılma noktasına yaklaşması | Kapasite sınırı ve bozulma şekli |
| Ani yük (spike) | Kısa süreli ani trafik artışı | Kampanya, reklam patlaması, haber etkisi |
| Dayanıklılık (soak) | Uzun süre orta-yüksek yük | Bellek sızıntısı, kuyruk birikimi, yavaş bozulma |
Küçük ekipler her türü her sprintte koşmak zorunda değildir. Canlıya yakın bir sürümde yük + ani yük; büyük mimari değişiklikten sonra stres; uzun süren arka plan işleri varsa dayanıklılık testi önceliklidir. Agile yazılım geliştirme döngüsünde performans senaryolarını backlog maddesi yapmak, “son güne bırakılan test” riskini azaltır.
Darboğaz Nasıl Okunur? Metrikler ve Sinyaller
Darboğaz, yük arttıkça sistemin en erken doygunluğa ulaşan parçasıdır. Ortalama yanıt süresi tek başına yeterli değildir; dağılımı ve kaynak sinyallerini birlikte okuyun.
Uygulama katmanı sinyalleri
- P95 / P99 yanıt süreleri ortalamadan hızla uzaklaşıyorsa kuyruk veya yavaş bağımlılık vardır
- Hata oranı yükle birlikte artıyorsa zaman aşımı, bağlantı havuzu veya rate limit devreye giriyor olabilir
- İş parçacığı veya worker sayısı tavan yapıyorsa eşzamanlılık sınırı dar gelmiş demektir
Veritabanı ve altyapı sinyalleri
- Yavaş sorgu listesi, kilit bekleme, yüksek disk I/O
- Bağlantı havuzunun tükenmesi
- CPU düşükken bellek veya disk doygunluğu (yanlış “daha fazla sunucu” kararı riski)
- Önbellek isabet oranının düşmesiyle veritabanına ani baskı
Darboğazı bulmak için yükü kademeli artırın ve hangi metrik önce bozuluyorsa oraya odaklanın. “Her yeri optimize et” yaklaşımı zaman kaybettirir; önce en dar boğaz, sonra bir sonraki katman. Yük altında kimlik doğrulama, oturum ve yetki kontrolleri de zorlanır; güvenlik kontrollerini ayrı bir listeden geçirmek için uygulama güvenliği kontrol listesi ile birlikte bakmak faydalıdır.
Adım Adım Pratik Performans Test Planı
Aşağıdaki plan, araç markasından bağımsızdır. Önemli olan tekrarlanabilirlik ve karar eşiğidir.
- Kapsamı sabitleyin. Hangi akışlar kritik, hangileri bu turda dışarıda? “Her şey” diye başlayan plan genelde yarım kalır.
- Başarı kriterlerini yazın. Örneğin kritik API için P95 eşiği, hata oranı üst sınırı, zirve yükte kabul edilebilir işlem hacmi. Sayıları iş birimiyle onaylayın; test ekibi tek başına uydurmasın.
- Test verisini ve ortamı ayırın. Canlı veriyi doğrudan ezmeyin. Ortam, canlıya mümkün olduğunca benzer mimaride olsun; aksi halde sonuç yanıltıcıdır.
- Senaryo script’lerini gerçek kullanıcı gibi kurun. Düşünme süresi, oturum, çerez ve sıralı adımlar yoksa sadece sunucuyu “vurmuş” olursunuz.
- Isınma, kademeli artış, zirve, soğuma. Ani tam yükle başlamak yerine basamak basamak çıkın; hangi basamakta bozulduğunu görün.
- Metrikleri senkron toplayın. Uygulama logu, APM/trace, veritabanı ve altyapı panelleri aynı zaman diliminde okunmalı.
- Bulguları önceliklendirin. Kullanıcıyı en çok etkileyen, en sık tetiklenen ve en düşük eforla düzeltilebilir maddeleri ayırın.
- Düzeltme sonrası yeniden koşun. Tek koşuyla “bitti” demeyin; aynı senaryoyu karşılaştırılabilir şekilde tekrarlayın.
Özel yazılım veya e-ticaret paneli gibi yoğun işlemli sistemlerde bu planı sprint ritmine bağlamak, performansın “proje sonu sürprizi” olmasını engeller. KepezWeb tarafında yazılım geliştirme çalışmalarında performans senaryolarını gereksinim ve kabul kriterlerine erken eklemek, sonradan yapılan ağır refaktör ihtiyacını azaltır.
Ortam, Araç ve Raporlamada Dikkat Edilecekler
Araç seçimi ikincildir; önce ölçülecek soruyu netleştirin. Açık kaynak yük araçları birçok senaryoda yeterlidir. Asıl sorun genelde şunlardır:
- Test ortamının canlıdan çok zayıf veya çok farklı olması
- Önbelleğin ilk koşuda dolu, ikinci koşuda boş kalması gibi tutarsız başlangıç durumu
- Sadece ortalama süre raporlayıp kuyruk ve hata dağılımını atlamak
- Üçüncü parti servisleri (ödeme, kargo, SMS) simüle etmeden gerçek çağrıya basmak
Raporu “grafik albümü” olmaktan çıkarın. Her bulguda şunlar yer alsın: senaryo, yük seviyesi, bozulan metrik, olası kök neden hipotezi, etki (kullanıcı/iş), önerilen sonraki adım. Karar verici, tek bakışta “şimdi ne yapmalıyız?” sorusunu yanıtlayabilmeli.
Sık Yapılan Hatalar
- Sadece ana sayfayı vurmak: Gerçek değer üreten işlem yolları test edilmezse sonuç güven vermez.
- Tek seferlik “maksimum kullanıcı” denemesi: Kademesiz test, darboğazı ve bozulma biçimini gizler.
- Fonksiyonel hatayı performans sanmak: Yanlış iş kuralı veya N+1 sorgu, yük artınca büyür; kök neden kod/tasarım olabilir.
- İzleme olmadan yük basmak: Yavaşladığını görürsünüz ama nerede olduğunu göremezsiniz.
- İyileştirmeyi ölçmeden kapatmak: Cache veya indeks ekledikten sonra aynı senaryoyu tekrarlamazsanız kazanımı kanıtlayamazsınız.
Sıkça Sorulan Sorular
Yazılım performans testi ne zaman yapılmalı?
Kritik akışlar olgunlaştığında ve canlıya yakın sürümlerde mutlaka; büyük mimari, veritabanı veya entegrasyon değişikliklerinden sonra da yeniden. Erken duman seviyesinde küçük yük kontrolleri, son haftaya yığılmayı azaltır.
Küçük ekipler pahalı araç olmadan yapabilir mi?
Evet. Önce senaryo, hedef metrik ve kademeli yük planı yeterlidir. Araç, bu planı çalıştırmaya ve sonuçları toplamaya yarar; plan yoksa pahalı yazılım da boşa gider.
Darboğaz bulunca ilk ne yapılmalı?
Tahminle sunucu büyütmek yerine en erken doygunlaşan katmanı doğrulayın. Sık görülenler: yavaş sorgu, eksik indeks, yetersiz önbellek, dar bağlantı havuzu, senkron üçüncü parti çağrı. Düzeltmeyi ölçülebilir bir hipotezle uygulayıp aynı senaryoyu tekrar koşun.
Performans testi ile yük testi aynı şey midir?
Hayır. Yük testi, performans test ailesinin bir türüdür. Performans testi daha geniş bir şemsiyedir; stres, ani yük ve dayanıklılık da bu aileye girer.
Sonuçları kim onaylamalı?
Teknik ekip metrikleri üretir; kabul eşiğini iş sahibi veya ürün sahibi onaylar. “Yeterince hızlı” tanımı teknik tercih değil, iş riski tanımıdır.
Performans beklentisi netleşmemiş bir özel yazılım, canlıda pahalı sürprizlere yol açabilir. Hedef yük, senaryo ve ölçüm planını projenizin parçası haline getirmek isterseniz KepezWeb ile ihtiyacınızı konuşabilir, teklif al sayfasından kısa bir brifing bırakabilirsiniz. Birlikte, abartısız ve uygulanabilir bir test çerçevesi kurarız.


