Smart Host

Gönderim Altyapısında Yük Testi: Kampanya Gününden Önce Öğrenmek

E-posta gönderim altyapısının yük testi: darboğaz tespiti, gerçekçi senaryo kurma ve kampanya öncesi kontroller. Gönderim Altyapısında Yük Testi: Kampanya…

Gönderim Altyapısında Yük Testi: Kampanya Gününden Önce Öğrenmek
İçindekiler
  1. Nerede Tıkanır?
  2. Ne Test Edilir?
  3. Test Nasıl Yapılır?
  4. Gerçekçi Senaryo Kurmak
  5. Kuyrukları Ayırmak
  6. Sonuçları Yorumlamak
  7. Kampanya Öncesi Kontrol
  8. Sonuç
  9. Sıkça Sorulan Sorular (SSS)
  10. Gerçek alıcılara göndermeden nasıl test ederim?
  11. Hangi göstergeye bakmalıyım?
  12. Kapasitem zirveye eşitse yeterli mi?
  13. Testi ne zaman yapmalıyım?

Gönderim Altyapısında Yük Testi: Kampanya Gününden Önce Öğrenmek

Normal günlerde saatte iki bin e-posta gönderiyorsunuz. Kampanya günü iki yüz bin gönderilecek. Altyapınızın bunu kaldırıp kaldıramayacağını o gün öğrenmek, öğrenmenin en pahalı yoludur.

Bu yazı, e-posta gönderim altyapısının yük testini ele alıyor.

Nerede Tıkanır?

Gönderim hattının her aşaması bir darboğaz adayıdır:

Aşama Olası sınır
İçerik üretimi Şablon işleme hızı
Veritabanı sorgusu Alıcı listesi çekme
Kuyruk yazma Disk giriş-çıkışı
Gönderim işçileri Eş zamanlılık
Alıcı sunucular Hız sınırlama

Beşinci satır önemli bir gerçeği hatırlatır: altyapınız sınırsız hızlı olsa bile alıcı sunucular sizi yavaşlatır, çünkü büyük posta sağlayıcıları aynı kaynaktan gelen trafiği kendi kurallarıyla sınırlar.

Bu nedenle yük testinin amacı "ne kadar hızlı gönderebilirim" değil, "kendi altyapım nerede tıkanıyor" sorusuna cevap bulmaktır.

İkinci satır sık gözden kaçar. Yüz binlerce alıcıyı tek bir sorguyla çekmeye çalışmak, veritabanını kilitleyebilir.

Ne Test Edilir?

Testin ölçmesi gereken değerler:

  • Saatlik gönderim kapasitesi.
  • Kuyruk büyüme hızı.
  • Bellek ve işlemci kullanımı.
  • Hata oranı. Yük altında artıyor mu?
  • Toparlanma süresi. Yük bitince ne oluyor?

İkinci madde en erken uyarıyı verir: kuyruk sürekli büyüyorsa gönderim hızınız üretim hızınızın altındadır ve bu fark kampanya boyunca katlanarak artar.

Bu durumda son alıcı, iletiyi kampanya bittikten saatler sonra alır — ya da hiç almaz.

Beşinci madde ise dayanıklılığı ölçer. Yük kalktıktan sonra sistemin normale dönmesi dakikalar sürüyorsa sorun yoktur; saatler sürüyorsa yapısal bir eksiklik vardır.

Test Nasıl Yapılır?

Gerçek gönderim yapmadan test etmenin yolları vardır:

  1. Yerel bir yakalama sunucusuna gönderin.
  2. Kendi kontrolünüzdeki alan adına gönderin.
  3. Gönderimi son adımda durdurun.
  4. Küçük gerçek gruplarla kademeli deneyin.

Birinci madde en güvenli yöntemdir ve mutlaka tercih edilmelidir: test amaçlı toplu gönderimi gerçek alıcılara yapmak, hem itibarınıza hem alıcılarınıza zarar verir — yakalama sunucusu iletileri kabul eder ama hiçbir yere iletmez.

Bu yöntem, alıcı sunucu sınırları dışındaki tüm darboğazları ortaya çıkarır.

Dördüncü madde ise gerçek koşulları test eder ama dikkatli yapılmalıdır. Kademeli artış, sorunun büyümeden görülmesini sağlar.

Gerçekçi Senaryo Kurmak

Test verisinin gerçeği yansıtması gerekir:

Unsur Gerçekçi olmalı
İleti boyutu Gerçek şablonla
Kişiselleştirme Alan birleştirme dahil
Alıcı sayısı Beklenen zirvenin üstünde
Alan adı dağılımı Gerçek listeye benzer
Eş zamanlı diğer trafik İşlemsel iletiler sürsün

Beşinci satır çoğu testte unutulur ve en kritik senaryoyu kaçırır: kampanya gönderimi sırasında şifre sıfırlama ve sipariş onayı gibi işlemsel iletiler de gönderilmeye devam eder — ve kuyrukta kampanyanın arkasına düşerse müşteri mağdur olur.

Bu, ayrı kuyruk kullanmanın neden gerekli olduğunu gösteren en net örnektir.

İkinci satır ise işlemci yükünü etkiler. Kişiselleştirme içermeyen bir test, gerçek yükü olduğundan düşük gösterir.

Kuyrukları Ayırmak

Testin en sık ortaya çıkardığı ihtiyaç budur:

  • İşlemsel iletiler ayrı kuyrukta. Yüksek öncelik.
  • Pazarlama iletileri ayrı kuyrukta.
  • Farklı gönderim adresleri kullanın.
  • Gerekirse farklı IP havuzları.

Bu ayrım yalnızca hız değil, itibar koruması da sağlar: pazarlama gönderimlerinin şikayet oranı, aynı kaynaktan giden işlemsel iletilerin teslimatını da etkiler.

Ayrılmış yapılarda bir kampanyanın kötü sonuçları, şifre sıfırlama iletilerinizin gelen kutusuna ulaşmasını engellemez.

Sonuçları Yorumlamak

Test bittiğinde bakılacaklar:

  1. Kapasite beklenen zirveyi karşılıyor mu?
  2. Hangi kaynak önce doldu?
  3. Hata oranı yük ile arttı mı?
  4. En yavaş adım hangisi?

Birinci maddede önemli bir pay bırakmak gerekir: ölçülen kapasitenin beklenen zirveye eşit olması yeterli değildir, en az iki katı bir marj olmalıdır — çünkü gerçek koşullar test ortamından daha zorludur.

Dördüncü madde iyileştirme önceliğini belirler. En yavaş adımı hızlandırmadan yapılan diğer tüm optimizasyonlar, toplam süreyi değiştirmez.

İkinci madde ise çözümün yönünü gösterir. Bellek dolduysa farklı, disk doyduysa farklı bir müdahale gerekir.

Kampanya Öncesi Kontrol

Kontrol Zamanlama
Yük testi En az iki hafta önce
Kuyruk temizliği Bir gün önce
Disk alanı kontrolü Bir gün önce
İzleme alarmları Gönderimden önce
Durdurma prosedürü Hazır olsun

Beşinci satır çok az kuruluşun hazırladığı ama kritik olan bir maddedir: gönderim yarıda kaldığında veya bir hata fark edildiğinde kampanyayı nasıl durduracağınızı önceden bilmelisiniz — yüz bin yanlış iletiyi durdurmak için dakikalarınız vardır.

Birinci satırdaki iki haftalık süre, bulunan sorunları düzeltmek ve tekrar test etmek içindir. Kampanyadan bir gün önce yapılan test, yalnızca kötü haber verir.

Kapasite ve hız sınırları büyük ölçüde sağlayıcı tarafında belirlenir; smarthost altyapısı üzerinden gönderim yapıyorsanız planlanan kampanya hacmini önceden bildirmek gerekir.

Sonuç

Yük testinin amacı ne kadar hızlı gönderebileceğinizi ölçmek değildir — alıcı sunucular sizi zaten kendi kurallarıyla sınırlar. Amaç kendi altyapınızdaki darboğazı bulmaktır ve en erken uyarı kuyruk büyüme hızıdır. Testi mutlaka yakalama sunucusuna yapın, gerçek alıcılara değil. Ve en sık kaçırılan senaryoyu ekleyin: kampanya sürerken işlemsel iletiler de gönderilmeye devam eder ve kuyrukta arkaya düşerse müşteri mağdur olur — bu, ayrı kuyruk kullanmanın en net gerekçesidir.

Sıkça Sorulan Sorular (SSS)

Gerçek alıcılara göndermeden nasıl test ederim?

Yerel bir yakalama sunucusuna gönderin — iletileri kabul eder ama hiçbir yere iletmez. Bu yöntem alıcı sunucu sınırları dışındaki tüm darboğazları ortaya çıkarır. Test amaçlı toplu gönderimi gerçek alıcılara yapmak hem itibarınıza hem alıcılarınıza zarar verir.

Hangi göstergeye bakmalıyım?

Kuyruk büyüme hızı en erken uyarıyı verir. Kuyruk sürekli büyüyorsa gönderim hızınız üretim hızınızın altındadır ve bu fark kampanya boyunca katlanır — son alıcı iletiyi kampanya bittikten saatler sonra alır ya da hiç almaz.

Kapasitem zirveye eşitse yeterli mi?

Hayır. En az iki katı bir marj olmalıdır çünkü gerçek koşullar test ortamından her zaman daha zorludur. Ayrıca testte eş zamanlı işlemsel trafiği de çalıştırdığınızdan emin olun; bu olmadan ölçüm gerçek yükü olduğundan düşük gösterir.

Testi ne zaman yapmalıyım?

Kampanyadan en az iki hafta önce — bulunan sorunları düzeltip tekrar test edebilmek için. Bir gün önce yapılan test yalnızca kötü haber verir. Ayrıca kampanyayı acil durumda nasıl durduracağınızı da önceden hazırlayın.