smaple.tr
performans testi

Performans Testi ve Yük Testi: Sistem Dayanıklılık Rehberi [2026]

Mehmet Kurtipek
January 21, 2026
10 min read
performans testi
yük testi
stres testi
jmeter
k6
kapasite planlama

Performans Sorunu, Müşteri Kaybına Yol Açar

2024 araştırması gösteriyor ki, web sayfası 3 saniyeden fazla yüklenirse, kullanıcıların %40'ı sayfayı terk eder. E-ticaret sitesi için bu, her saniyede iki müşteri kaybı anlamına gelebilir.

Daha dramatik: Birden fazla kullanıcı aynı anda erişirse (hediye kuponu veya flash satış), sunucu çöker mi? 2024'te bir hava yolu web sitesi, biletlerin açılmamması yüzünden saatler boyunca down kalırken, $2 milyon gelir kaybetmiştir.

Performans sorunu, kalite sorunu kadar önemliyse de, çoğu zaman test edilmez. Kod yeşil renge dönüyor, "bitmiş" deniyor, üretim ortamında bomba patlatıyor.

Performans Test Türleri

1. Baseline Test (Temel Performans)

Sistemi normal yük altında test et. Ortalama yanıt süresi ne? Kaç işlem per saniye işlenebilir?

Örnek: Normal zamanlar, e-ticaret sitesine saniyede 100 ziyaretçi geliyor. Ortalama sayfa yükleme süresi 1.5 saniye. Bu temel.

2. Load Test (Yük Testi)

Yükü gradual olarak artır. Sistem kaça kadar yanıt verir?

Örnek: Saniyede 100 -> 200 -> 500 -> 1000 ziyaretçi. Yanıt süresi nasıl değişir? Sunucu ne zaman tepki vermeyi durdurmaya başlar?

3. Stress Test (Stres Testi)

Sistemi sınırının çok ötesine itmeye devam et. Çöküş noktası nedir? Ne kadar yük emir alıyor?

Örnek: Saniyede 10.000 ziyaretçi (normal trafiğin 100 katı). Sunucu çöker mi, yoksa graceful degradation yapıyor mu (bazı istekleri reddediyor ancak sistem ayakta kalıyor)?

4. Spike Test (Ani Yük Artışı)

Yük ani olararak artır. Flash satış örneği: Trafikten ani 10 kata çıkıyor. Sistem bunu göz atlayabilir mi, yoksa müşteriler timeout görüyor mu?

5. Endurance Test (Dayanıklılık Testi)

Saatlerce yüksek yük. Sistem hafıza sızdırıyor mu? Veritabanı bağlantıları tükenemiş mi?

Örnek: 8 saat boyunca saniyede 500 ziyaretçi. Sonra yanıt süresi yükselebilir mi? CPU, hafıza ne durumda?

6. Scalability Test (Ölçeklenebilirlik Testi)

Sunucu sayısını artırırsan, performans doğru oranda iyileşir mi? Bir sunucu saniyede 1000 istek işleyebiliyorsa, iki sunucu 2000 işleyebilmeli.

Performans Test Araçları

JMeter

Açık kaynak, Java tabanlı, en yaygın performans test aracı. GUI ve komut satırı desteği.

Avantajlar:

  • Tamamen ücretsiz
  • Tüm protokoller desteklenir (HTTP, FTP, JDBC, SOAP, JMS)
  • Geniş plugin ekosistemi
  • Dağıtılmış test desteği (birden fazla makine)
  • Test raporlaması güçlü

Dezavantajlar:

  • Ağır; çok sayıda sanal kullanıcı için RAM tüketimi yüksek
  • GUI, başlangıçta kafa karıştırıcı
  • Kurulum ve konfigürasyon biraz zaman alıyor

Uygun Durumlar: Geniş ölçekte şirketler, karmaşık test senaryoları, açık kaynak çözümleri tercih eden ekipler, tüm protokollerle uyumluluğa ihtiyaç duyan projeler.

k6

Modern performans test aracı. JavaScript'te yazılan testler, bulutta koşabilir.

Avantajlar:

  • Kolay ve hızlı kurulum
  • Kod temiz ve anlaşılır (JavaScript)
  • Cloud-based (dünya genelinde load generation)
  • Real-time metrikleri harika bir şekilde görselleştiriyor
  • Open source ve managed servis seçeneği var

Dezavantajlar:

  • JavaScript yazması bilenler gerekli
  • Daha yeni, documentation daha az
  • Çok protokol desteği sınırlı

Uygun Durumlar: Web uygulamaları, hızlı test yazımı ve yürütme gereksinimleri, bulut tabanlı dağıtık yük üretimi ihtiyacı.

Gatling

Scala tabanlı, yazılımcı-dostu performans test aracı. Kod tarafından yazılmış testler.

Avantajlar:

  • Çok hızlı ve ölçeklenebilir
  • Test kodları versiyon kontrolüne girebilir (Git'te tutulur)
  • Harika HTML raporları
  • Jenkins gibi CI/CD araçlarıyla entegrasyon
  • Real-time metrik görselleştirmesi

Dezavantajler:

  • Scala yazması bilenler gerekli (öğrenme eğrisi)
  • Open source ücretsiz, ama enterprise desteği pahalı
  • Java yığını gerektirir

Uygun Durumlar: Java ve Scala tarafında uzman ekipler, CI/CD pipeline'ında otomatikleştirilmiş performans testleri, HTML raporlama gereksinimleri.

Locust

Python tabanlı, yazılımcı-dostu performans test aracı.

Avantajlar:

  • Python yazması kolay
  • Dağıtılmış test desteği
  • Web UI ile real-time izleme
  • Açık kaynak

Dezavantajlar:

  • Çok büyük yükler (10k+ sanal kullanıcı) için sınırlamalar
  • Raporlama, diğer araçlar kadar güçlü değil

Uygun Durumlar: Python programlama dilinde uzman ekipler, orta ölçekli yük ve performans test gereksinimleri, web arayüzüyle real-time izleme ihtiyacı.

Hızlı Karşılaştırma Tablosu

Özellik JMeter k6 Gatling Locust
Kurulum Orta Kolay Kolay Kolay
Dil GUI/DSL JavaScript Scala Python
Performans İyi Mükemmel Mükemmel İyi
Ölçeklenebilirlik Sınırlı Bulut Mükemmel Sınırlı
Raporlama Güçlü İyi Mükemmel Temel
CI/CD Var Var Mükemmel Var
Maliyeti Ücretsiz Ücretsiz + Paid Ücretsiz + Paid Ücretsiz

Performans Test Planlaması

1. Hedefleri Tanımla

  • Ortalama yanıt süresi hedefi: < 2 saniye
    1. percentile yanıt süresi: < 5 saniye
  • Throughput hedefi: > 1000 req/sec
  • Error oranı: < 0.1%

Bu hedefler işletme gereksinimleriyle çelişmemeli.

2. Realistik Yük Modelle

Sanal kullanıcı sayısını nereden bileceğiz? Tarihsel veri kullan.

Örnek: Sitenize günde 10.000 ziyaretçi geliyor, ortalama 30 dakika kalıyorlar. Aynı anda (concurrent) ziyaretçi sayısı:

(10.000 * 30 dakika) / (1440 dakika) = 208 concurrent user

Yük testinde, başlangıcı 100 concurrent user'dan başlat, 500'e çıkar, performansı gözlemle.

3. Test Ortamı Hazırla

Test ortamı, production'a olabildiğince yakın olmalı. Veritabanı türü, sunucu hardware, network hızı aynı olmalı.

Production'dan daha zayıfsa, sonuçlar yanıltıcı olacak.

4. Başla, Sonuçları Analiz Et

Testleri koş, metrikleri izle:

  • Response time dağılımı (minimum, maximum, average, percentiles)
  • Throughput (req/sec)
  • Error oranı
  • CPU ve RAM kullanımı
  • Database connection pool durumu

Performans Sorunu Teşhisi

Yanıt süresi yavaşsa, neden?

  1. Network latency: Coğrafyanın ötesinden istek geliyor mu?
  2. Veritabanı sorgusu: Sorgu optimize edilmiş mi, yoksa yüzlerce satır tarama yapıyor mu?
  3. Sunucu işlemeci: CPU %100 kullanımda mı?
  4. Hafıza: Sunucunun RAM'ı bitmiş mi, disk swap'e gidiyor mu?
  5. I/O gecikmesi: Disk yazımı (log) çok mu yavaş?
  6. Third-party servisleri: Ödeme ağ geçidi, SMS servisi yavaş mı?

Her problemi teşhis etmek için profiling araçlarına ihtiyaç vardır. JVM için JProfiler, Python için cProfile, Node.js için clinic.js.

Performans Bütçesi Konsepti

Yazılım takımlarından performans bütçesi tanımlaması istenir. Bu, "yanıt süresi kesinlikle 2 saniyeyi geçmemeli" demek.

Her feature, bir performans maliyeti vardır. Login özelliği 0.5 saniye, search 1 saniye, report oluşturma 1.5 saniye. Toplam 3 saniye. Bütçe 3 saniyeyse, yeni bir özellik eklenemez.

Bottleneck Olarak Veritabanı

Çoğu web uygulamasında en büyük performans problemi, veritabanıdır.

Optimizasyon:

  1. Indeksler: Sık sorgulan alanlar indekslenmeli
  2. Query optimization: Sorgu yavaşsa, EXPLAIN PLAN kullan, optimize et
  3. Caching: Sık okunması veri Redis/Memcached'e koy
  4. Connection pooling: Veritabanı bağlantısı açmak pahalı, havuz kullan
  5. Read replicas: Yazma ve okuma operasyonlarını farklı sunuculara ayır

Performans testinin yazılım test sürecinin bütünü içindeki rolü hakkında daha fazla bilgi için, Yazılım Test ve Kalite Güvence rehberi adresini ziyaret edebilirsiniz.

Maliyeti Düşük Performans Test

Performans test pahalı değildir. Açık kaynak araçlar (JMeter, k6, Locust) var. Soruna giren şey, test ortamı hazırlamadır.

Daha ucuz yol:

  • Production-like staging ortamı kur
  • Açık kaynak aracı seç
  • Haftalık küçük performans testleri koş (full regression değil, sadece kritik yollar)
  • Trend takip et; yanıt süresi artıyor mu?

Performans Test Senaryo Örnekleri

Senaryo 1: E-ticaret Flash Sale

Durumu: Black Friday, normal trafiğin 50 katı, 30 saniye içinde 100.000 kullanıcı.

Test Planı:

  • Baseline: Saniyede 100 kullanıcı (normal)
  • Ramp-up: 30 saniye içinde 5.000 kullanıcıya çık
  • Peak: 1 saat 5.000 kullanıcıyı sustain et
  • Ramp-down: 30 saniye içinde kapat

Hedefler:

  • Ortalama yanıt süresi: < 3 saniye
  • 95% yanıt süresi: < 10 saniye
  • Error oranı: < 2% (yüksek trafik nedeniyle kabul edilir)
  • Database connection pool: 100-200 aktif bağlantı

Araç: k6 (cloud-based, 5.000 concurrent user kolay) Maliyet: 5.000-10.000 USD

Senaryo 2: Banking Mobile App Peak Usage

Durumu: Pazartesi sabah 9:00, 500.000 active user, 10 milyon tx/saat.

Test Planı:

  • Baseline: 1 million tx/saat (normal)
  • Ramp-up: 1 saat içinde 10 million tx'e çık
  • Peak: 2 saat sustain
  • Ramp-down: 30 dakika

Hedefler:

  • 99th percentile latency: < 500ms
  • Error rate: < 0.01% (finans sektörü çok katı)
  • Database: < 2 saniye query time

Araç: JMeter (dağıtılmış, JDBC bağlantılar) Maliyet: 8.000-15.000 USD

Performans Test Sonuçlarının İş Değeri

Performans test, sadece rakamlar değil, müşteri memnuniyeti ölçer:

Yanıt Süresi User Perception Bounce Rate Conversion Rate
0-1 sn Hızlı, memnun %0 100%
1-3 sn Uygun %5 95%
3-5 sn Yavaş, ama kabul %20 70%
5-10 sn Çok yavaş %50 30%
10+ sn Çok sabırsız %80 %5

E-ticaret örneği: Sayfası 5 saniyeye düşüren şirket, conversion rate %5 artış görmüştür = aylık 100.000 USD ek gelir.

Bottleneck Tanımlama Araçları

Uygulama Bottleneck'i (APM)

New Relic, DataDog, Dynatrace:

  • Fonksiyon-level profiling
  • Database query performansı
  • Memory leak tespiti
  • Distributed tracing

Database Bottleneck'i

SQL Server, PostgreSQL, MySQL Araçları:

  • Yavaş sorgu günlüğü
  • EXPLAIN PLAN
  • İndeks kullanım analizi
  • Kilit izleme

Infrastructure Bottleneck'i

CloudWatch, Prometheus, Grafana:

  • İşlemci, Bellek, Disk G/Ç
  • Ağ gecikmesi
  • Önbellek isabet oranı
  • Kuyruk uzunluğu

Performans Test Otomasyon

Performans test'leri, her commit'te çalıştırılabilir mi?

Kısa yanıt: Hayır, ama düzenli olarak (günde, haftada) yapılmalı.

Full Regression: Saatler alır (pahalı) Quick Smoke Test: 5-10 dakika, critical path'lar (önerilen)

GitHub Actions'ta otomasyon, periyodik zamanlamalar kullanılır. Örneğin, her Pazar saat 2:00'de, k6 performans test script'i çalıştırılabilir. Bu şekilde, haftalık performans trendleri takip edilebilir. Pipeline'daki stage'lerde belirli zamanlar ayarlanır.

Aylık maliyeti: Sunucu saati 100 dolar civarında = 1.200 dolar/yıl

Performans Test Raporlaması

Test sonrası stakeholder'lara ne rapor edilmeli:

Teknik Rapor (Ekip için)

  • Test profile: Concurrent user, ramp-up, duration
  • Result: Response time distribution, throughput, errors
  • Bottleneck: CPU, database, network nerede
  • Recommendation: Ne optimize etmeliyiz

Executive Rapor (C-level için)

  • System kaç concurrent user'ı handle edebilir?
  • Black Friday'de sistem ayakta kalır mı?
  • Ek sunucu, ne kadar tasarruf sağlar?
  • Release'e hazırız mı?

Raporlama tool'ları: JMeter GUI Reports, k6 Cloud, Gatling Enterprise, custom Grafana dashboard'lar.

Yaygın Performans Test Hatalar

  1. Test ortamı, production'dan çok farklı: Veritabanı boyutu 1/10, sunucu hardware düşük

    • Çözüm: Test ortamı production'a benzer yapı
  2. Caching atlama: Production'da Redis, test'te yoksa sonuçlar yanıltıcı

    • Çözüm: Test ortamında same caching layer
  3. Realistic veri kullanmama: Test veri 1000 user, production'da milyonlarca

    • Çözüm: Production-scale test data
  4. Single point of failure test etmeme: Database master down, sistem çöker

    • Çözüm: Failover scenario'lar test et
  5. Test sonuçlarını etkin şekilde kullanmama: Test tamamlandı, rapor yazıldı, ama optimize etmedi

    • Çözüm: Test sonrası action items, tracking

Ölçeklenebilirlik Planlaması

Sistem şimdi 1.000 concurrent user'ı handle ediyor. 5 yıl sonra 10.000 ise?

Horizontal Scaling: Sunucu sayısını artır

  • Avantaj: Sınırsız (teorik), load balancer ile manage
  • Dezavantaj: Database'i de scale etmeliyiz (harder), stateless olmalı

Vertical Scaling: Sunucu hardware güçlendir

  • Avantaj: Basit, code değişmesin
  • Dezavantaj: Sınırı var (max hardware), daha pahalı

Hibrid: API Ağ Geçidi, Önbellekleme, CDN, Microservisler

  • Avantaj: Esnek, uygun maliyetli
  • Dezavantaj: Kompleks

Yazılım test stratejisinin genel bağlamında performans testlerinin yeri hakkında daha fazla bilgi için, Yazılım Test ve Kalite Güvence rehberi adresini ziyaret edebilirsiniz.

Smart Maple Performans Test Hizmetleri

Yazılımınızın ne zaman ve neden yavaşlaştığını bilmek, performans sorunundan önce harekete geçmek demektir. Smart Maple, JMeter, k6, Gatling gibi araçlarla kapsamlı performans test ve yük test hizmetleri sunar. Test planlaması, yük modelleme, sorun teşhisi ve optimizasyon önerileri sunarak sisteminizin ölçeklenebilirliğini ve güvenilirliğini sağlarız. Yazılım performansını optimize etmek için smart-maple.com adresini ziyaret edin ve uzman ekibimizle çalışmaya başlayın.

Related Articles

August 10, 2026

MLOps Rehberi: Makine Öğrenmesi Modellerini Production'a Taşıma

Giriş: MLOps Nedir ve Neden Önemlidir? Makine öğrenmesi modelleri geliştirmek günümüzde nispeten kolaydır. Açık kaynak kütüphaneleri kullanarak son derece başarılı modeller oluşturabiliriz. Ancak bu modelleri production ortamına taşıyarak, ölçeklendirebilir, güvenilir ve sürdürülebilir şekilde çalıştırmak tamamen farklı bir hikayedir. Araştırmalara göre, veri bilimcileri tarafından geliştirilen makine öğrenmesi modellerinin %87'si hiçbir zaman production ortamına ulaşmaz. Bu başarısızlı

Read More
August 9, 2026

LLM Fine-Tuning ve Özel Model Eğitimi Rehberi [2026]

LLM Fine-Tuning: Kurumsal Yapay Zeka Stratejisinin Temel Taşı Büyük dil modelleri (LLM), genel amaçlı metin üretimi ve anlama konusunda etkileyici performans sergiliyor. Ancak kurumsal ortamlarda belirli bir alan, terminoloji veya iş sürecine uyum sağlamaları gerektiğinde, genel bilgileri çoğu zaman yetersiz kalıyor. Bu noktada fine-tuning, yani ince ayar süreci devreye giriyor. Fine-tuning sayesinde mevcut bir temel modeli, kendi verileriniz ve ihtiyaçlarınız doğrultusunda özelleştirmek

Read More
August 8, 2026

Bilgisayarlı Görü Uygulamaları: Nesne Tespiti, OCR ve Endüstriyel AI

Bilgisayarlı Görü Uygulamaları: Endüstriyel ve Medikal AI'nin Temel Teknolojisi Bilgisayarlı görü, makine öğrenmesinin en etkili alanlarından biridir. Türkiye'de yaşanan dijital dönüşüm sürecinde, özellikle üretim, sağlık ve lojistik sektörlerinde görü tabanlı otomasyon kritik hale gelmiştir. Smart Maple olarak Ankara'da geliştirdiğimiz çözümler, son beş yılda 150+ kuruluşunun üretim verimliliğini ortalama %35 oranında artırmıştır. Bu rehberde, bilgisayarlı görü teknolojisinin iş değeri

Read More