Performance & Scalability serimizin bir parçası
Tam kılavuzu okuyunE-Ticaret Platformunuzun Yük Testini Yapma: Kara Cuma Trafiğine Hazırlanma
Shopify, satıcıların Kara Cuma/Siber Pazartesi 2024'te toplu olarak 9,3 milyar ABD doları satış yaptığını ve bu 96 saat içindeki her dakika kesintinin binlerce gelir kaybına yol açtığını bildirdi. Yük testi, trafiğin yoğun olduğu zamanlarda hassas bir şekilde ölçeklenen bir platform ile mümkün olan en kötü anda çöken bir platform arasındaki farktır. Ancak çoğu işletme, platformunun kırılma noktasını test sırasında değil, gerçek olay sırasında keşfeder.
Önemli Çıkarımlar
- Yalnızca ham istek sayılarıyla değil, gerçekçi trafik modelleriyle yükleme testi yapın; göz atma aşamasından ödeme aşamasına kadar gerçek kullanıcı yolculuklarını modelleyin
- Altyapı değişikliklerine ve kod optimizasyonuna zaman bırakmak için yük testini yoğun olaylardan 8-12 hafta önce başlatın
- Darboğazları aşamalı olarak belirleyin: taban çizgisinden beklenen zirvenin 2 katına kadar artış, her katmanı bağımsız olarak test edin
- Test sonrası analiz, testin kendisi kadar önemlidir; gerçek kısıtlamayı bulmak için yanıt sürelerini altyapı ölçümleriyle ilişkilendirin
Yük Testi Araçlarının Karşılaştırması
Doğru yük testi aracını seçmek ekibinizin teknik becerilerine, altyapısına ve test gereksinimlerine bağlıdır.
| Araç | Dil | Protokol Desteği | Komut Dosyası | Bulut Yürütme | En İyisi |
|---|---|---|---|---|---|
| k6 (Grafana) | JavaScript | HTTP, WebSocket, gRPC | JavaScript ES6 | Grafana Bulutu, k6 Bulutu | Geliştirici dostu, CI/CD entegrasyonu |
| Topçu | JavaScript | HTTP, WebSocket, Socket.io | YAML + JavaScript | Topçu Bulutu | Hızlı kurulum, YAML tabanlı senaryolar |
| Keçiboynuzu | Python | HTTP (genişletilebilir) | Python | Dağıtılmış mod | Python ekipleri, karmaşık senaryolar |
| JMeter | Java | HTTP, JDBC, FTP, LDAP | GUI + XML | BlazeMeter, OctoPerf | Eski sistemler, protokol çeşitliliği |
| Toplama | Ölçek | HTTP, WebSocket | Scala DSL | Toplama Şirketi | Yüksek performanslı, ayrıntılı raporlar |
| Oyun yazarı (yük) | JavaScript | Tam tarayıcı | JavaScript | CI koşucuları | JavaScript ağırlıklı SPA'ları test etme |
k6: Çoğu Takım için Tavsiye Edilir
k6, çoğu e-Ticaret yük testi için önerdiğimiz araçtır. Test komut dosyaları için JavaScript kullanır, CI/CD işlem hatlarıyla entegre olur ve yanıt süresi yüzdelik dilimleri, aktarım hızı ve hata oranları dahil olmak üzere ayrıntılı ölçümler üretir. Yerel olarak veya bulutta çalışır ve çıktısı, gerçek zamanlı izleme için Grafana kontrol panelleriyle bütünleşir.
k6 testleri, senaryoları (kullanıcı davranışını simüle eden HTTP istekleri dizilerini) yürüten sanal kullanıcıları (VU'lar) tanımlar. Her VU kendi oturum durumunu (tanımlama bilgileri, başlıklar) koruyarak gerçekçi, kimliği doğrulanmış iş akışlarına olanak tanır.
Topçu: Hızlı Kurulum Açısından En İyisi
Artillery, yaygın senaryolar için YAML tabanlı yapılandırmayı kullanır ve karmaşık mantık için JavaScript'i destekler. Saatlerce komut dosyası yazmak yerine dakikalar içinde sonuçlara ihtiyaç duyduğunuz hızlı başlangıç yük testinde mükemmeldir. Ayrıca Socket.io ve WebSocket testleri için yerel desteğe sahiptir.
Gerçekçi Trafik Modellerini Modelleme
Yük testindeki en büyük hata, gerçek kullanıcı davranışıyla eşleşmeyen tek tip trafik göndermektir. Gerçek trafiğin farklı darboğazları ortaya çıkaran belirli kalıpları vardır.
Kullanıcı Yolculuğu Modellemesi
Bir e-Ticaret yük testi, yalnızca bireysel uç nokta isabetlerini değil, tüm kullanıcı yolculuklarını modellemelidir. Gerçekçi bir test, uygun oranlarda aşağıdaki kullanıcı türlerini içerir:
| Kullanıcı Türü | Trafik Paylaşımı | Yolculuk |
|---|---|---|
| Tarayıcılar | %60-70 | Ana sayfa, kategori sayfaları, ürün sayfaları, arama |
| Alışveriş yapanları karşılaştırın | %15-20 | Ürün sayfaları, sepete ekle, sepeti görüntüle, ayrıl |
| Alıcılar | %8-12 | Gözat, sepete ekle, ödeme yap, ödeme |
| Geri dönen müşteriler | %5-10 | Giriş yapın, sipariş geçmişi, yeniden sipariş verin, ödeme yapın |
| API entegrasyonları | %2-5 | Envanter senkronizasyonu, sipariş aktarımı, webhook işleme |
Trafik Rampa Modelleri
Doğrudan pik yüke atlamayın. Kırılma noktalarını belirlemek için kademeli olarak rampa yapın.
Kara Cuma testi için artış modeli:
- Temel (0-10 dakika) -- performans temel çizgisini oluşturmak için normal günlük trafikle başlayın
- Beklenen zirveye yükseliş (10-30 dakika) -- beklenen Kara Cuma trafiğine kademeli olarak artış
- En yüksek yükü sürdürün (30-60 dakika) -- Sürdürülebilir performansı ve kaynak sızıntılarını test etmek için en yüksek yükü koruyun
- Ani artış testi (60-70 dakika) -- 30 saniyede 3-5 kat trafik artışıyla flaş satış başlangıcını simüle edin
- Kurtarma (70-80 dakika) -- normal yüke dönün ve sistemin manuel müdahale olmadan kurtarıldığını doğrulayın
- Soak testi (ayrı çalışma, 4-8 saat) -- bellek sızıntılarını ve bağlantı havuzu tükenmesini tespit etmek için sürekli orta düzeyde yük
Zamanı ve İlerleme Hızını Düşünün
Gerçek kullanıcılar istekleri olabildiğince hızlı başlatmazlar. İçeriği okur, ürünleri karşılaştırır ve formları doldururlar. İstekler arasına gerçekçi düşünme süreleri ekleyin:
- Sayfa görüntülemeleri arasında: 5-30 saniye
- Ödeme formunu doldurma: 30-120 saniye
- Ürün açıklamalarını okuma: 10-60 saniye
- Arama ve filtreleme: Eylemler arasında 3-10 saniye
Düşünme süreleri olmadığında testiniz, üretim trafiği kalıplarıyla eşleşmeyen gerçekçi olmayan derecede yoğunlaştırılmış yük oluşturur.
Darboğaz Tespiti
Yük testleri darboğazları ortaya çıkarır ancak nereye bakmanız gerektiğini bilmeniz gerekir. Yanıt süresi bozulmasını kaynak tükenmesi ile ilişkilendirmek için test sonuçlarının yanı sıra altyapı ölçümlerini izleyin.
Veritabanı Darboğazları
Belirtiler: Yüklendikçe yanıt süreleri doğrusal olarak artıyor, veritabanı CPU'su %90'ın üzerinde, yavaş sorgu günlüğü hızla doluyor
Genel nedenler:
- Sık sorgulanan sütunlarda eksik dizinler
- Eşzamanlı kullanıcılarla çoğalan N+1 sorgu
- Ödeme sırasında envanter güncellemelerindeki çekişmeyi kilitleyin
- Bağlantı havuzunun tükenmesi (tüm bağlantılar kullanımda, yeni istek kuyruğu)
Teşhis: Etkin sorgular için pg_stat_activity'yi, sıralı tarama sayıları için pg_stat_user_tables'ı ve bağlantı havuzu ölçümlerini izleyin. Veritabanı sorgu optimizasyonu ile ilgili ayrıntılı kılavuzumuza bakın.
Uygulama Sunucusu Darboğazları
Belirtiler: CPU %100'e çıkıyor, olay döngüsü gecikmesi artıyor (Node.js), çöp toplama duraklamaları gecikme artışlarına neden oluyor
Genel nedenler:
- Olay döngüsünü engelleyen eşzamanlı işlemler (görüntü işleme, PDF oluşturma)
- Giderek daha sık çöp toplamaya neden olan bellek sızıntıları
- CPU'ya bağlı işlemler için yetersiz çalışan işlemleri
- Pahalı hesaplamalar için eksik önbellekleme
Teşhis: Uygulama örneği başına CPU, bellek, olay döngüsü gecikmesi ve atık toplama ölçümlerini izleyin.
Ağ ve Altyapı Darboğazları
Belirtiler: Bant genişliği doygunluğu, bağlantı zaman aşımları, yük altında SSL anlaşması gecikmeleri
Genel nedenler:
- Bant genişliği tüketen sıkıştırılmamış yanıtlar
- CDN yerine uygulama sunucusundan sunulan statik varlıklar
- Yük dengeleyici yerine uygulama sunucusunda SSL/TLS sonlandırması
- Sunucu örneği türü için yetersiz ağ bant genişliği
Kapasite Planlama
Yük testi, kapasite planlamasını besleyerek yoğun olaylar için ne kadar altyapıya ihtiyacınız olduğunu belirler.
Kapasite Planlama Formülü
- En yüksek trafik beklentisini belirleyin -- geçen yılın verilerini artı büyüme tahminlerini kullanın. Bu ilk büyük satışınızsa, pazarlama erişimine ve sektör karşılaştırmalarına dayanarak tahmin yapın
- Güvenlik marjı ekleyin -- beklenmedik viral trafiği idare etmek için beklenen zirve değerinin 2-3 katı kadar plan yapın
- Yük testini hedef kapasitede çalıştırın -- altyapınızın, kabul edilebilir yanıt süreleriyle 2-3 kat daha fazla yükü kaldırabildiğini doğrulayın
- Maliyeti hesaplayın -- En yüksek kapasite için altyapı maliyetini belirleyin ve otomatik ölçeklendirmenin mi yoksa ön provizyonun mu daha uygun maliyetli olduğuna karar verin
Ön Ölçeklendirme Kontrol Listesi
Etkinlikten 8-12 hafta önce hazırlanmaya başlayın:
| Zaman Çizelgesi | Eylem |
|---|---|
| 8-12 hafta önce | Temel yük testini çalıştırın, ilk 5 darboğazı belirleyin |
| 6-8 hafta önce | Optimizasyonları uygulayın (önbelleğe alma, sorgu düzeltmeleri, kod değişiklikleri) |
| 4-6 hafta önce | Yük testini beklenen en yüksek noktada çalıştırın, iyileştirmeleri doğrulayın |
| 2-4 hafta önce | Yük testini 2-3 kat zirvede çalıştırın, altyapı ölçeklendirmesini planlayın |
| 1 hafta önce | Altyapıyı önceden ölçeklendirin, son doğrulama testini çalıştırın |
| Etkinlik günü | Gösterge tablolarını izleyin, geri alma planlarını hazırlayın |
Otomatik Ölçeklendirme ve Ön Hazırlık Karşılaştırması
Otomatik ölçeklendirme, kapasiteyi talep ölçümlerine göre ayarlar ancak yeni örneklerin eklenmesi 3-10 dakika sürer. Ani trafik artışlarında (flaş satış başlangıcı, viral sosyal medya gönderisi) ön hazırlık, gecikmeyi önler.
Önerilen yaklaşım: Beklenen zirveyi karşılamak için ön hazırlık yapın, önceden sağlanan kapasiteyi aşan beklenmedik artışlar için otomatik ölçeklendirmeyi yapılandırın.
Test Sonrası Analiz
Yük testinin kendisi değerin yalnızca yarısıdır. Test sonrası analiz, ham verileri eyleme dönüştürülebilir optimizasyon önceliklerine dönüştürür.
Analiz Edilecek Temel Metrikler
| Metrik | Nelere Bakılmalı |
|---|---|
| P95 tepki süresi | En yüksek yükte 500 ms'nin altında kalmalı |
| P99 tepki süresi | 2 saniyenin altında kalmalı -- kuyruk gecikmesi en çok etkileşimde bulunan kullanıcılarınızı etkiler |
| Hata oranı | %0,1'in altında kalmalı - daha yüksek herhangi bir kapasite sorununa işaret eder |
| Verimlilik tavanı | Yanıt süresinin azalmaya başladığı istek/saniye |
| İyileşme süresi | Ani bir yükselişin ardından yanıt süreleri ne kadar hızlı normale dönüyor |
| Kaynak kullanımı | CPU, bellek, bağlantılar zirvede; hangisi önce tavana vurur? |
Eylem Planı Oluşturma
Bulguları iş etkisine göre önceliklendirin:
- En yüksek seviyedeki hatalar -- Yük altında 5xx döndüren tüm istekler düzeltilmelidir. Bunlar kayıp satışlardır.
- Ödeme performansı -- Ödeme yanıt süreleri 2 saniyeyi aşarsa öncelikle bu yolu optimize edin. Yavaş ödeme, dönüşümü doğrudan etkiler.
- Arama ve göz atma performansı -- Yavaş ürün keşfi, görüntülenen öğeleri ve sepet boyutlarını azaltır.
- Yönetici ve arka ofis -- bunlar, geliri etkilemeden zirve sırasında bozulabilir. Gerekirse öncelikleri kaldırın.
Sıkça Sorulan Sorular
Altyapıyı kontrol etmezsem bir Shopify mağazasının yükleme testini nasıl yaparım?
Kontrol ettiğiniz şeye odaklanın: özel tema kodunuz, üçüncü taraf uygulamalarınız ve harici entegrasyonlar. Ön uç performans testi için Lighthouse CI gibi araçları kullanın. Web kancası işleme uç noktalarınızı ve envanter senkronizasyonu API'lerinizi yük altında test edin. Shopify Plus satıcıları için, mağazanızın kapasitesini incelemek üzere Shopify'ın satıcı başarı ekibiyle birlikte çalışın.
Yük testi ile stres testi arasındaki fark nedir?
Yük testi, sisteminizin beklenen yoğun trafiği kabul edilebilir bir performansla karşıladığını doğrular. Stres testi, kırılma noktasını bulmak ve zarif bozulmayı doğrulamak için beklenen sınırların ötesine geçer. Bilinen olaylara hazırlanmak için yükleme testi; Bilinmeyen sınırları keşfetmek ve sistemin felaket yerine güvenli bir şekilde arızalanmasını sağlamak için stres testi.
Testi üretimde mi yoksa hazırlamada mı yüklemeliyim?
Üretimi mümkün olduğunca yakından yansıtan bir ortamda test edin. Hazırlama ortamları genellikle daha küçük veritabanlarına, daha az sunucuya ve farklı ağ yapılandırmalarına sahiptir. Mümkünse trafiğin düşük olduğu saatlerde üretim altyapısına yönelik yük testleri yapın. En azından hazırlama veritabanınızda üretim boyutundaki verileri kullanın.
Yük testlerinde gerçekçi ödeme işlemini nasıl simüle edebilirim?
Test kartı numaralarını kabul eden ödeme sağlayıcı korumalı alan/test modlarını kullanın. Stripe, PayPal ve diğer sağlayıcılar, gerçek kartlardan ücret alınmadan işlemleri gerçekleştiren test ortamları sunuyor. Entegrasyon darboğazlarını belirlemek için ödeme API çağrıları da dahil olmak üzere tüm ödeme akışını test edin. Ödeme sağlayıcısı ücret sınırlarını izleyin; bazı sağlayıcılar korumalı alan isteklerini üretimden farklı şekilde kısıtlar.
Yük testlerini ne sıklıkla çalıştırmalıyım?
Herhangi bir büyük trafik olayından (Kara Cuma, ürün lansmanları, pazarlama kampanyaları) önce kapsamlı yük testleri yapın. Otomatik küçük yük testlerini haftalık olarak veya CI/CD'nin bir parçası olarak önemli kod değişikliklerinden sonra çalıştırın. Yüksek trafikli uç noktaları etkileyen değişiklikler için dağıtım kontrol listenize yük testini ekleyin.
Sırada Ne Var
Mevcut üretim trafiği modellerinize göre temel bir yük testiyle başlayın. İlk üç darboğazınızı belirleyin ve bir sonraki testi çalıştırmadan önce bunları optimize edin. Platformunuz 500 ms'nin altındaki yanıt süreleriyle beklenen yoğun trafiğin 2-3 katı kadarını rahatça idare edene kadar bu döngüyü tekrarlayın.
Daha geniş performans mühendisliği bağlamı için iş platformunuzu ölçeklendirme hakkındaki temel kılavuzumuza bakın. Yük testlerinizin zorladığı altyapıyı optimize etmek için altyapı ölçeklendirme ve yük dengeleme hakkındaki kılavuzumuzu okuyun.
ECOSIRE, Shopify ve Odoo üzerindeki e-Ticaret platformları için yük testi ve performans optimizasyonu sağlar. Etkinlik öncesi performans hazırlığı için ekibimizle iletişime geçin.
ECOSIRE tarafından yayınlandı — işletmelerin Odoo ERP, Shopify eCommerce ve OpenClaw AI genelinde yapay zeka destekli çözümlerle ölçeklenmesine yardımcı oluyor.
Yazan
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Shopify Mağazanızı Ölçeklendirin
Hızlı büyüyen e-ticaret için özel geliştirme, optimizasyon ve geçiş hizmetleri.
İlgili Makaleler
E-ticaret için Yapay Zeka İçerik Üretimi: Ürün Açıklamaları, SEO ve Daha Fazlası
E-ticaret içeriğini yapay zeka ile ölçeklendirin: ürün açıklamaları, SEO meta etiketleri, e-posta kopyası ve sosyal medya. Kalite kontrol çerçeveleri ve marka sesi tutarlılığı kılavuzu.
Yapay Zeka Destekli Dinamik Fiyatlandırma: Geliri Gerçek Zamanlı Olarak Optimize Edin
Talep esnekliği modellemesi, rakip izleme ve etik fiyatlandırma stratejileriyle geliri optimize etmek için yapay zeka dinamik fiyatlandırmasını uygulayın. Mimari ve yatırım getirisi kılavuzu.
E-ticaret için Yapay Zeka Dolandırıcılık Tespiti: Satışları Engellemeden Geliri Koruyun
Sahte pozitif oranları %2'nin altında tutarken, sahtekarlık işlemlerinin %95'ten fazlasını yakalayan yapay zeka sahtekarlık tespitini uygulayın. Makine öğrenimi puanlaması, davranış analizi ve yatırım getirisi kılavuzu.
Performance & Scalability serisinden daha fazlası
Web Kancası Hata Ayıklama ve İzleme: Eksiksiz Sorun Giderme Kılavuzu
Arıza modellerini, hata ayıklama araçlarını, yeniden deneme stratejilerini, izleme kontrol panellerini ve en iyi güvenlik uygulamalarını kapsayan bu eksiksiz kılavuzla webhook hata ayıklama konusunda uzmanlaşın.
k6 Yük Testi: Lansmandan Önce API'lerinize Stres Testi Yapın
Node.js API'leri için k6 yük testinde uzmanlaşın. Sanal kullanıcı artışlarını, eşikleri, senaryoları, HTTP/2, WebSocket testini, Grafana kontrol panellerini ve CI entegrasyon modellerini kapsar.
Nginx Üretim Yapılandırması: SSL, Önbelleğe Alma ve Güvenlik
Nginx üretim yapılandırma kılavuzu: SSL sonlandırma, HTTP/2, önbelleğe alma başlıkları, güvenlik başlıkları, hız sınırlama, ters proxy kurulumu ve Cloudflare entegrasyon modelleri.
Odoo Performans Ayarlama: PostgreSQL ve Sunucu Optimizasyonu
Odoo 19 performans ayarlaması için uzman kılavuzu. Kurumsal dağıtımlar için PostgreSQL yapılandırmasını, indekslemeyi, sorgu optimizasyonunu, Nginx önbelleğe almayı ve sunucu boyutlandırmayı kapsar.
Odoo ve Acumatica: Büyüyen İşletmeler için Bulut ERP
Odoo ve Acumatica'nın 2026 karşılaştırması: benzersiz fiyatlandırma modelleri, ölçeklenebilirlik, üretim derinliği ve hangi bulut ERP'nin büyüme yörüngenize uyduğu.
Üretimde Yapay Zeka Aracılarını Test Etme ve İzleme
Üretim ortamlarında yapay zeka aracılarını test etmeye ve izlemeye yönelik eksiksiz bir kılavuz. OpenClaw dağıtımları için değerlendirme çerçevelerini, gözlemlenebilirliği, sapma tespitini ve olay müdahalesini kapsar.