Teknik

Yük Testi Yapmadan Kampanyaya Giriyorsan Zararı Sen Ödüyorsun: Büyük Satıcıların Sessizce Uyguladığı Test Protokolü

E-pin scripti için yük testi nasıl yapılır? Senaryo kurulumu, kademeli rampa, ölçülecek metrikler, araç karşılaştırması ve adım adım test kontrol listesi.

Yük Testi Yapmadan Kampanyaya Giriyorsan Zararı Sen Ödüyorsun: Büyük Satıcıların Sessizce Uyguladığı Test Protokolü

Yük testi denince çoğu işletme sahibinin aklına bir komut satırı aracı ve ekranda akan sayılar gelir. “Ana sayfaya 1.000 istek attım, 200 döndü, sistem sağlam” cümlesi belki en yaygın ve en yanıltıcı teknik cümledir. Çünkü ana sayfan büyük olasılıkla önbellekten servis ediliyordur ve o test, sitenin gerçekten kırılacağı yerlere hiç dokunmamıştır. Gerçek kırılma noktası; sepete ekleme, ödeme başlatma ve e-pin teslim akışıdır.

Yük testinin amacı sistemin “dayandığını” kanıtlamak değildir. Amacı, sistemin nerede ve nasıl kırıldığını kampanya gecesinden önce öğrenmektir. İyi bir test seni gururlandırmaz, rahatsız eder; çünkü bilmediğin bir darboğazı yüzüne vurur. Bu yazıda kullandığın e-pin satış scripti için gerçekçi bir yük testi protokolünü, hangi senaryoyu nasıl kurgulayacağını ve çıkan sayıları nasıl okuyacağını sırayla kuracağız.

%74Sadece ana sayfa test edilen kurulumlarda gözden kaçan darboğaz
6 adımGerçekçi bir satın alma senaryosunun asgari adım sayısı
%1Kabul edilebilir azami hata oranı eşiği
p95Ortalama değil, karar vermen gereken yanıt süresi metriği

Neden Ana Sayfaya İstek Atmak Yük Testi Sayılmaz?

Bir e-pin sitesinde sayfalar maliyet açısından eşit değildir. Ana sayfa ve kategori sayfaları çoğunlukla önbelleklenebilir, veritabanına neredeyse dokunmaz. Buna karşılık oturum açma, bakiye yükleme, sepet, ödeme başlatma ve teslim adımları önbelleklenemez; her biri yazma işlemi yapar, kilit alır, üçüncü parti servise gider. Testini ucuz sayfalar üzerinden yaparsan ölçtüğün şey sunucunun statik dosya servis kapasitesidir, ticari kapasitesi değil.

Bunu düzeltmenin yolu senaryo bazlı test kurmaktır. Gerçek bir kullanıcı yolculuğunu adım adım taklit eden bir betik yazarsın: giriş yap, kategoriye gir, ürün sayfasını aç, sepete ekle, ödeme başlat, teslim sonucunu bekle. Her adım arasında 2-5 saniyelik düşünme süresi bırakırsın, çünkü gerçek insanlar makineler gibi ardı ardına tıklamaz. Bu düşünme süresini koymazsan test gerçekte olmayacak bir baskı üretir ve seni gereksiz panikle yanlış yatırıma sürükler.

Hangi Senaryoları Test Etmelisin ve Ağırlıkları Ne Olmalı?

Tek senaryo yeterli değildir; kampanya gecesinde trafiğin bir karışım hâlinde gelir. Sağlıklı bir karışım tipik olarak şöyledir: ziyaretçilerin büyük çoğunluğu gezinir, bir kısmı sepete ekler, daha küçük bir kısmı ödemeye gider. Bu oranları kendi analitiğinden almalısın. Dönüşüm oranın %2 ise testin de yaklaşık olarak bu oranı yansıtmalı. Dönüşümü %30 varsayan bir test, ödeme altyapını gerçekte olmayacak bir yükle döver ve sana “ödeme çöküyor” gibi yanlış bir alarm verir.

Yanında iki özel senaryo daha ekle. Birincisi tek ürün yığılması: kampanyaya konu olan tek bir e-pin ürününe eşzamanlı satın alma baskısı uygula; bu, stok kilidi kuyruğunu ölçer. İkincisi panel yükü: sen ve ekibin kampanya sırasında yönetim paneline girip sipariş listesi, stok ve rapor ekranlarını açacaksınız. Ağır rapor sorguları müşteri trafiğiyle aynı veritabanını kullandığı için kampanya gecesinde en sık gözden kaçan darboğaçlardan biridir. İyi bir dijital ürün satış yazılımı raporları ayrı ve hafif üretir, ama bunu ölçmeden bilemezsin.

SenaryoTrafik ağırlığıÖlçtüğü katmanHedef p95Başarısızlık işareti
Ana sayfa + kategori gezinme%60Önbellek ve statik servis400 msÖnbellek isabeti düşüyor
Ürün detay + arama%20Veritabanı okuma ve indeks700 msYavaş sorgu kaydı şişiyor
Sepete ekleme / oturum%10Oturum yazma, kilit800 msOturum çakışması, 5xx
Ödeme başlatma%5Üçüncü parti API, zaman aşımı1500 msBekleyen sipariş yığını
Tek ürüne yığılma%3Stok kilidi kuyruğu1000 msKilit zaman aşımı hatası
Yönetim paneli / rapor%2Ağır toplama sorguları2000 msTüm site birlikte yavaşlıyor

Rampa Nasıl Kurulur: Testi Duvara Vurmadan Tırmandırmak

Yeni başlayanların en sık hatası testi en yüksek yükte başlatmaktır. Sıfırdan 500 eşzamanlı kullanıcıya bir saniyede çıkarsan her şey kırılır ve hangi seviyede kırıldığını öğrenemezsin. Doğru yöntem kademeli rampadır: 25 kullanıcıyla başla, iki dakika sabit tut, 50’ye çıkar, iki dakika tut, 100, 200 diye devam et. Her platoda p95 yanıt süresini ve hata oranını kaydet.

Aradığın şey dizüstü noktasıdır: yükü artırdığında verimin (saniyedeki başarılı işlem) artmayı bıraktığı, yanıt süresinin ise fırlamaya başladığı seviye. O nokta sistemin gerçek kapasitesidir. Kampanya hedefini bu noktanın %60-70 altında tutmalısın; çünkü gerçek trafik testin kadar düzenli gelmez. Rampa testinden sonra iki test daha yap: dayanıklılık testi (hedef yükün %60’ında 45-60 dakika, bellek sızıntısı ve bağlantı birikmesi için) ve ani sıçrama testi (hedefin iki katına 30 saniye, duyuru anını taklit eder ve toparlanma süresini ölçer).

Yük testinde ilk kırılan bileşenlerin dağılımı

  • İndekssiz / ağır sorgular 40%
  • İşçi sayısı ve kuyruk taşması 30%
  • Üçüncü parti API zaman aşımı 20%
  • Disk ve oturum yazma 10%

Hangi Sayılara Bakacaksın? Ortalama Yanıt Süresi Seni Kandırır

Test çıktısında en cazip sayı ortalama yanıt süresidir ve en işe yaramaz olan da odur. 100 isteğin 90’ı 200 ms’de, 10’u 8 saniyede dönerse ortalama 980 ms görünür; oysa müşterilerinin %10’u siteyi terk etmiştir. Bu yüzden karar verirken p95 ve p99 değerlerine bak: isteklerin %95’i ve %99’u hangi sürede tamamlanıyor. p95 hedefin sayfa tipine göre 400-1500 ms bandında olmalı.

Yanında mutlaka izlemen gereken dört sayı daha var: hata oranı (%1 üzeri kırmızı çizgi), verim yani saniyedeki başarılı işlem sayısı, eşzamanlı veritabanı bağlantısı ve sunucu tarafında kuyruk uzunluğu. Testi yalnızca test aracının çıktısıyla değerlendirmek yarım iş olur; test sürerken sunucuda da CPU, bellek, disk bekleme ve yavaş sorgu kaydını topla. Kırılmanın sebebini ancak iki tarafı yan yana koyarak bulabilirsin.

Testi asla canlı ödeme sağlayıcısına yönlendirme

Ödeme adımını test ederken sağlayıcının sanal/sandbox ortamını kullan. Canlı uçlara yüzlerce sahte istek atmak hesabının askıya alınmasına yol açabilir. Aynı şey e-pin tedarikçi API’leri için de geçerlidir.

Test Sonrası Ne Yapacaksın: Sayıları Aksiyona Çevirmek

Rapor okumak kolay, karar vermek zordur. Sonuçları üç kovaya ayır. Birinci kova kod ve sorgu düzeltmeleri: yavaş sorgu kaydında çıkan indekssiz sorgular, N+1 döngüleri, teslim işlemi içine sıkışmış mail gönderimi. Bu kova en ucuz ve en yüksek getirili olandır; genelde tek bir indeks p95’i yarıya indirir. İkinci kova yapılandırma: işçi sayısı, bağlantı havuzu, önbellek süreleri, zaman aşımı değerleri. Üçüncü kova donanım ve ilk ikisi tükenmeden buraya para harcamamalısın.

Düzeltmeyi yaptıktan sonra testi aynı senaryo ve aynı rampa ile yeniden koş. Karşılaştırılabilir olmayan test, test değildir; bu yüzden senaryo dosyanı ve rampa planını sürüm kontrolünde tut. Bir e-pin yazılımı kurulumunda bu döngüyü üç kez tekrarlamak, çoğu zaman sunucu paketini büyütmeden kapasiteyi iki katına çıkarır. Pinova’nın hangi modüllerinin önbelleğe alınabilir, hangilerinin yazma yoğun olduğunu özellikler sayfasından inceleyip senaryonu buna göre kurabilirsin.

Test adımıSüreKabul kriteriZorunluluk
Kopya (staging) ortam hazırlandı1 günCanlıyla aynı sürüm ve veri hacmiZorunlu
Gerçekçi senaryo betiği yazıldı2-4 saat6 adımlı yolculuk, düşünme süresi varZorunlu
Ödeme ve tedarikçi uçları sandbox’a çevrildi30 dkCanlı uca tek istek gitmiyorZorunlu
Kademeli rampa testi20-30 dkDizüstü noktası tespit edildiZorunlu
Dayanıklılık testi45-60 dkBellek ve bağlantı sayısı düzÖnerilen
Ani sıçrama testi5 dk2 dk içinde toparlanmaÖnerilen
Sunucu tarafı metrikler toplandıtest boyuncaCPU, RAM, DB, yavaş sorgu kaydıZorunlu
Düzeltmeler uygulandı1-2 günKod ve yapılandırma kovaları bittiZorunlu
Doğrulama testi tekrar koşuldu30 dkp95 en az %30 iyileştiZorunlu
Sonuçlar ve hedef rps belgelendi1 saatKampanya planına yazıldıÖnerilen

Test etmeye değer bir altyapıyla başla

Pinova, yük altında davranışı öngörülebilir olacak şekilde tasarlanmış bir e-pin satış yazılımıdır: hafif sorgular, ayrılmış rapor katmanı ve kısa süreli stok kilitleri. Testin sonucu sürpriz değil, doğrulama olsun.

Yük testini canlı sitemde yapabilir miyim?

Yapılabilir ama ancak trafiğin en düşük olduğu saatte, düşük yükte ve ödeme uçları sandbox’a alınmış hâlde. Gerçek kapasite testini her zaman canlının bire bir kopyasında yapmak doğrusudur; aksi hâlde test müşterini kaybettirir.

Kaç eşzamanlı kullanıcıya kadar test etmeliyim?

Kampanya için hesapladığın tepe hedefin en az iki katına kadar. Amaç hedefi geçmek değil, kırılma noktasını görmek; kırılmayı görmediysen testi yeterince zorlamadın demektir.

Testte hata oranı sıfır çıkmalı mı?

Hayır. Yüksek yükte %0,5’e kadar hata normaldir. Kırmızı çizgi %1’dir. Önemli olan hataların türü: zaman aşımı ve 5xx ciddidir, kilit yeniden denemesi görece iyidir.

Yük testi için hangi araca ihtiyacım var?

Basit senaryolar için hafif komut satırı araçları yeterlidir; çok adımlı, oturum taşıyan yolculuklar için betik yazılabilen bir araç gerekir. Araç seçiminden daha önemlisi senaryonun gerçekçi olması ve sunucu tarafı metrikleri aynı anda toplamandır.

Yük testi bir kere yapılıp rafa kaldırılan bir tören değil, her büyük kampanyadan önce tekrarlanan kısa bir alışkanlıktır. Senaryo dosyanı bir kez yazarsan sonraki testler yarım saatini alır ve her seferinde altyapının nerede durduğunu net olarak bilirsin. Kendi kurulumunun teslim akışını, panel sorgularını ve ödeme adımlarını bu gözle incelemek istersen canlı demo üzerinden tüm ekranları dolaşabilir, ardından paketleri kendi trafik hedefinle karşılaştırabilirsin.

Daha Fazlasını Keşfedin

Dijital ürün satışı ve otomasyon üzerine güncel rehberlere göz atın.

Tüm Yazıları Gör →
Bu yazıyı paylaşın
Bu yazıyı beğendiniz mi?
Teşekkürler!
← Tüm yazılar