Ücretsiz Site Analizi

Magento Hız Optimizasyonu: Varnish, Redis ve OpenSearch

“Magento yavaş” şikayeti, Magento hakkında en sık duyduğumuz cümlelerden biri. Oysa sorun çoğu zaman platformun kendisinde değil, eksik yapılandırılmış önbellekte, ağır temada, gereksiz eklentilerde veya yetersiz sunucudadır. Magento hız optimizasyonu, bu katmanları sırayla ele almayı gerektirir. Bu yazıda bir isteğin Magento’da nasıl işlendiğini, Varnish, Redis (bugün Valkey) ve OpenSearch’in bu akıştaki rolünü ve adım adım uygulayabileceğiniz performans kontrol listesini anlatıyoruz. Sitenizin hız analizini birlikte yapmak isterseniz Magento hız optimizasyonu ve geliştirme sayfamıza göz atabilirsiniz.

Hızın satışa etkisini dönüşüm tarafından okumak için dönüşüm oranı optimizasyonu yazımıza da bakabilirsiniz.

Bir istek Magento’da nasıl işlenir?

Bir ziyaretçi kategori sayfanızı açtığında istek sırasıyla şu katmanlardan geçer:

  1. CDN ve tarayıcı önbelleği: Görseller, CSS ve JavaScript dosyaları mümkünse ziyaretçiye en yakın noktadan gelir.
  2. Varnish (tam sayfa önbelleği): Sayfanın hazır bir kopyası varsa Varnish onu doğrudan döndürür; PHP ve veritabanı hiç çalışmaz. Bu, en hızlı yanıttır.
  3. PHP ve Magento uygulaması: Önbellekte sayfa yoksa Magento sayfayı oluşturur.
  4. Valkey (Redis uyumlu önbellek): Yapılandırma, düzen (layout) ve blok önbellekleri ile oturum verileri buradan hızlıca okunur.
  5. OpenSearch: Kategori listeleri, filtreler ve arama sonuçları buradan gelir.
  6. Veritabanı (MySQL veya MariaDB): Önbellekte olmayan veriler veritabanından okunur. En yavaş katman budur.
Magento'da istek akışı
Magento'da istek akışı

Magento performansının özü, isteklerin olabildiğince yukarıdaki katmanlarda cevaplanmasıdır. Ziyaretçilerin büyük kısmı Varnish’ten hizmet alıyorsa sunucu rahatlar, sayfalar hızlı açılır.

Magento cache türleri ve Varnish

Magento’nun kendi önbellek türleri System > Cache Management ekranında listelenir: yapılandırma, düzen, blok HTML, koleksiyon verileri, tam sayfa önbelleği ve diğerleri. Canlı mağazada hepsi açık olmalıdır. Bir önbellek türünü kalıcı olarak kapatmak, genellikle başka bir sorunu gizlemek için yapılır ve siteyi ciddi şekilde yavaşlatır.

Magento Varnish kurulumu

Magento’nun yerleşik tam sayfa önbelleği dosya sisteminde de çalışabilir, ancak Adobe canlı ortamlar için Varnish’i önerir. Güncel 2.4.9 için test edilen sürüm Varnish 8’dir. Temel adımlar:

  1. Sunucuya Varnish kurun ve web sunucusunun önüne yerleştirin.
  2. Stores > Configuration > Advanced > System > Full Page Cache bölümünde Caching Application olarak Varnish Cache’i seçin.
  3. Aynı ekrandan Varnish sürümünüze uygun VCL dosyasını dışa aktarın ve Varnish’e yükleyin.
  4. Önbellek temizleme isteklerinin Varnish’e ulaşması için Magento’ya Varnish sunucusunun adresini tanımlayın.
  5. Önbellek isabet oranını izleyin; düşükse hangi sayfaların önbellekten çıktığını inceleyin.

Varnish isabet oranını düşüren en yaygın neden, sayfalara önbelleğe alınamaz (cacheable=”false”) olarak işaretlenmiş blok ekleyen eklentilerdir. Tek bir yanlış blok, o bloğun bulunduğu tüm sayfaları önbellek dışına çıkarabilir.

Redis’ten Valkey’e: oturum ve uygulama önbelleği

Uzun yıllar Magento projelerinde oturum ve uygulama önbelleği için Redis kullanıldı. Ekim 2026 itibarıyla Adobe’nin sistem gereksinimleri tablosunda güncel sürümler için Valkey yer alıyor: 2.4.9 için Valkey 9, 2.4.8 ve 2.4.7’nin son yamaları için Valkey 8.1. Valkey, Redis ile uyumlu açık kaynak bir alternatiftir ve Magento’daki ayarlar aynı mantıkla yapılır.

Varsayılan kurulumda önbellek ve oturumlar dosya sistemine yazılır. Trafik arttıkça bu yapı disk üzerinde darboğaz yaratır. Önbelleği ve oturumları Valkey’e taşımak, özellikle sepete ekleme ve ödeme gibi oturum yoğun adımlarda belirgin fark yaratır. Önbellek ve oturum için ayrı veritabanı numaraları (hatta yoğun projelerde ayrı örnekler) kullanmak iyi bir uygulamadır.

OpenSearch ve katalog performansı

Magento’da kategori sayfaları, katmanlı navigasyon ve arama OpenSearch üzerinden çalışır. 2.4.9 için test edilen sürüm OpenSearch 3’tür. Performans için:

  • OpenSearch’e yeterli bellek ayırın; veritabanıyla aynı sunucudaysa iki servisin kaynak paylaşımını planlayın.
  • Filtrelenebilir ve aranabilir özellikleri gerçekten gerekenlerle sınırlayın. Her gereksiz filtre indeks boyutunu büyütür.
  • İndeksleyicileri “Update by Schedule” moduna alın; büyük kataloglarda “Update on Save” modu ürün kaydını yavaşlatır.

E-ticaretinizi birlikte kuralım ve büyütelim

Shopify, pazaryerleri, e-fatura ve reklam ölçümlemesini tek elden kuruyoruz. Sorunuzu WhatsApp’tan yazın ya da formu doldurun, sizi arayalım.

Magento performans kontrol listesi

Uygulama ayarları

  • Üretim modu: bin/magento deploy:mode:set production. Geliştirme modunda canlı mağaza çalıştırmak ciddi yavaşlık yaratır.
  • Tüm önbellek türleri açık: bin/magento cache:status ile kontrol edin.
  • İndeksleyiciler zamanlanmış modda: bin/magento indexer:set-mode schedule.
  • Cron düzenli çalışıyor: Zamanlanmış indeksleme ve önbellek temizleme cron’a bağlıdır.
  • Asenkron e-posta gönderimi: Sipariş e-postalarını ödeme anında değil, arka planda göndermek ödeme adımını hızlandırır.

Vitrin ve tema

  • Tema seçimi: Varsayılan Luma teması çok sayıda JavaScript dosyası yükler. Hyvä teması bu yükü önemli ölçüde azaltır; Hyvä teması 10 Kasım 2025’ten beri ücretsiz ve açık kaynak olarak sunuluyor.
  • Görseller: Ürün görsellerini doğru boyutta ve modern formatlarda (WebP veya AVIF) sunun, ekran dışındaki görseller için tembel yükleme kullanın.
  • Üçüncü taraf betikler: Sohbet, analiz ve reklam etiketlerini gözden geçirin; her biri ana iş parçacığını meşgul eder.
  • CSS ve JavaScript: Küçültme (minify) ayarlarını üretim modunda açın; Luma’da paketleme (bundling) ayarlarını ölçerek değerlendirin.

Eklentiler ve kod

  • Kullanılmayan eklentileri devre dışı bırakmak yerine tamamen kaldırın.
  • Her eklentinin sayfa yükleme süresine etkisini ölçün; bir profil aracıyla en yavaş çağrıları bulun.
  • Önbelleği bozan blokları ve gereksiz gözlemcileri (observer) temizleyin.

Sunucu ve altyapı

  • PHP sürümünü Magento sürümünüzün test edildiği sürümle eşleştirin (2.4.9 için PHP 8.5) ve OPcache’i açın; Adobe de OPcache’in etkin olduğunun doğrulanmasını öneriyor.
  • PHP-FPM işçi sayısını sunucu belleğine göre ayarlayın.
  • Veritabanı yapılandırmasını (ör. tampon havuzu boyutu) katalog büyüklüğüne göre ayarlayın.
  • Statik dosyalar ve medya için CDN kullanın.

Magento yavaş: önce neyi ölçmelisiniz?

Optimizasyona başlamadan önce sorunun nerede olduğunu ölçün. Aksi halde yanlış katmana zaman harcarsınız.

  1. Sunucu yanıt süresi (TTFB): Önbellekli ve önbelleksiz bir sayfa için ayrı ayrı ölçün. Önbellekli sayfa da yavaşsa sorun Varnish veya sunucudadır.
  2. Core Web Vitals: PageSpeed Insights ve Search Console’daki saha verileri, gerçek kullanıcı deneyimini gösterir. LCP genellikle görsel ve sunucu yanıtına, INP ise JavaScript yüküne bağlıdır.
  3. Varnish isabet oranı: Ziyaretlerin ne kadarının önbellekten karşılandığını gösterir.
  4. Yavaş sorgular: Veritabanı yavaş sorgu kayıtları, eklenti kaynaklı sorunları ortaya çıkarır.
  5. Sepet ve ödeme adımı: Bu sayfalar önbelleğe alınmaz; burada yaşanan yavaşlık doğrudan satış kaybıdır.

Ölçümleri bir referans tabloya kaydedin ve her değişiklikten sonra aynı sayfalarda tekrarlayın. Böylece hangi adımın gerçekten fark yarattığını görürsünüz.

Sık yapılan hız optimizasyonu hataları

  • Her sorunda önbelleği kapatmak: Görünen bir hatayı çözmek için önbellek türlerini kapatmak, siteyi kalıcı olarak yavaşlatır. Sorunun kaynağı olan blok veya eklenti bulunmalıdır.
  • Sadece PageSpeed puanına bakmak: Laboratuvar puanı yön gösterir ama gerçek kullanıcı verisi (Search Console’daki Core Web Vitals raporu) asıl ölçüttür.
  • Hız eklentisi yığmak: Küçültme, tembel yükleme ve önbellek için ayrı ayrı eklentiler kurmak çakışmalara yol açar. Önce Magento’nun kendi ayarlarını ve sunucu tarafını düzeltin.
  • Sunucuyu büyütüp sorunu çözmeye çalışmak: Daha güçlü bir sunucu geçici rahatlama sağlar, ama önbelleği bozan bir eklenti varsa sorun trafik arttıkça geri gelir.
  • Test ortamında ölçmemek: Tema veya eklenti değişikliklerini canlıya almadan önce aynı veriye sahip bir test ortamında ölçün.

Sunucu kapasitesini nasıl planlamalı?

Magento için tek bir doğru sunucu boyutu yoktur; ürün sayısı, mağaza görünümü sayısı, eşzamanlı ziyaretçi ve entegrasyon yoğunluğu belirleyicidir. Küçük ve orta ölçekli mağazalarda tüm servisler tek güçlü bir sunucuda çalışabilir. Büyüdükçe önce veritabanı ve OpenSearch ayrı sunuculara taşınır, ardından web sunucuları çoğaltılır. Kapasite kararını tahminle değil, kampanya dönemlerindeki gerçek kaynak kullanımı ve yük testleriyle verin.

Kampanya dönemlerine hazırlık

Büyük indirim günlerinde trafik normalin katlarına çıkabilir. Kampanyadan önce önbelleğin ısıtılması (önemli sayfaların önceden ziyaret edilip önbelleğe alınması), indeks ve cron durumunun kontrolü, kampanya kurallarının sayısının sınırlandırılması ve bir yük testi yapılması önerilir. Sepet fiyat kurallarının çok fazla olması, sepet ve ödeme adımlarını yavaşlatan sık bir nedendir.

Kampanya sırasında ürün ve fiyat güncellemelerini mümkün olduğunca azaltın; toplu fiyat değişiklikleri büyük önbellek temizliklerine ve yeniden indekslemeye yol açar. Bu işleri kampanya başlamadan önce tamamlamak, en yoğun saatlerde sitenin önbellekten hizmet vermeye devam etmesini sağlar. Sunucu kaynaklarını (işlemci, bellek, veritabanı bağlantıları) kampanya boyunca canlı izleyin.

Sonuç

Magento hız optimizasyonu tek bir ayar değil, katmanlı bir çalışmadır: Varnish ile tam sayfa önbelleği, Valkey ile oturum ve uygulama önbelleği, iyi ayarlanmış OpenSearch, üretim modu, hafif bir tema ve kontrollü eklenti kullanımı. Önce ölçün, en çok kazandıracak katmandan başlayın ve her adımı tekrar ölçün.

Magento sitenizin performans analizini birlikte yapmak için Magento geliştirme ve hız optimizasyonu sayfamızı inceleyin. Teknik ekibinizin bu ayarları yönetmesi için birebir Magento 2 eğitimi seçeneğimize de göz atabilirsiniz.

Sık Sorulan Sorular

Magento neden yavaş çalışır?

En sık nedenler eksik veya yanlış yapılandırılmış önbellek, geliştirme modunda çalışan canlı site, ağır tema, önbelleği bozan eklentiler, yetersiz sunucu ve çalışmayan cron işleridir. Önce sunucu yanıt süresini ve Varnish isabet oranını ölçerek sorunun hangi katmanda olduğunu bulun.

Magento Varnish şart mı?

Magento dosya tabanlı tam sayfa önbelleğiyle de çalışır, ancak Adobe canlı ortamlar için Varnish'i önerir. Trafiği yüksek mağazalarda Varnish, sayfaların PHP ve veritabanına hiç uğramadan sunulmasını sağlar.

Magento'da Redis hala kullanılıyor mu?

Ekim 2026 itibarıyla Adobe'nin güncel sistem gereksinimlerinde önbellek ve oturum için Valkey yer alıyor (2.4.9 için Valkey 9). Valkey, Redis ile uyumlu açık kaynak bir alternatiftir ve Magento'da aynı mantıkla yapılandırılır.

Magento cache nasıl temizlenir?

System > Cache Management ekranından veya bin/magento cache:flush komutuyla temizlenebilir. Canlı mağazada önbelleği sık sık tamamen temizlemek yerine yalnızca değişen içeriğin önbelleğini yenilemek performans açısından daha doğrudur.

Hyvä tema hızı gerçekten artırır mı?

Hyvä, Luma'ya göre çok daha az JavaScript yükler ve bu genellikle vitrin hızını belirgin şekilde iyileştirir. Ancak mevcut eklentilerin Hyvä uyumluluğu kontrol edilmeli; uyumsuz eklentiler için ek geliştirme gerekebilir.

Aklınıza takılan bir şey mi var? WhatsApp’tan yazın, ya da iletişim formunu doldurun; e-com101 ekibi sizi arasın.