- Katılım
- 8 Ocak 2026
- Mesajlar
- 306
- Çözümler
- 1
- Reaksiyon puanı
- 413
- Puanları
- 63
XenForo Performans Optimizasyonu
Önbellek, şablon derleme ve gereksiz sorguları azaltma rehberi
Önbellek, şablon derleme ve gereksiz sorguları azaltma rehberi
Bu rehber XenForo 2.3.10 sürümüne göre hazırlanmıştır. Performans optimizasyonu, yalnızca sunucuyu güçlendirmek değildir. Tema, eklenti, sorgu, şablon ve önbellek yapısının birlikte sağlıklı çalışması gerekir.
1. Önce Ölçün, Sonra Müdahale Edin
Performans sorunu yaşadığınızda ilk yapılması gereken şey tahmin yürütmek değil, ölçüm yapmaktır.
- Sayfa yüklenme süresi.
- Veritabanı sorgu sayısı.
- Sunucu hata logları.
- Tarayıcı ağ sekmesi.
- PHP ve MySQL kaynak kullanımı.
Not: Debug mode canlı sitede açık bırakılmamalıdır. Test ortamında analiz için kullanılmalıdır.
2. Development Mode ve Debug Mode
Development mode ve debug mode geliştirme için faydalıdır; fakat canlı sitede performans ve güvenlik açısından açık kalmamalıdır.
Kod:
$config['debug'] = true;
$config['development']['enabled'] = true;
Bu ayarlar yalnızca local veya test ortamında kullanılmalıdır.
3. Önbellekleri Yeniden Oluşturma
Tema, eklenti veya şablon değişikliklerinden sonra bazı durumlarda yeniden oluşturma işlemleri gerekebilir.
Admin panelinde şu alanı kontrol edebilirsiniz:
Admin Paneli > Araçlar > Önbellekleri yeniden oluştur
Yaygın kullanılan rebuild işlemleri:
- Templates.
- Phrases.
- Search index.
- User caches.
- Forum/thread information.
4. Şablon Performansı
Şablonlar doğrudan kullanıcıya görünen alanı etkiler. Aşırı karmaşık şablon mantığı performansı ve bakım kolaylığını olumsuz etkileyebilir.
- Şablon içinde ağır iş mantığı kurmayın.
- Gereksiz
xf:foreachdöngülerinden kaçının. - Aynı bilgiyi tekrar tekrar hesaplatmayın.
- Karmaşık sorguları PHP tarafında service veya repository’ye taşıyın.
5. Template Modification Sayısı
Template modification sistemi güçlüdür; ancak çok sayıda ve geniş regex kullanan değişiklikler bakım zorluğu çıkarabilir.
- Mümkünse simple replacement kullanın.
- Regex desenlerini dar tutun.
- Aynı şablona yapılan değişiklikleri düzenli kontrol edin.
- Güncelleme sonrası logları inceleyin.
6. Eklenti Kontrolü
Performans sorunlarının önemli bir kısmı kötü yazılmış veya gereğinden fazla çalışan eklentilerden kaynaklanabilir.
Kontrol için:
- Yeni kurulan eklentileri sırayla devre dışı bırakıp test edin.
- Aynı işi yapan birden fazla eklenti kullanmayın.
- Eski ve güncellenmeyen eklentileri canlı sitede tutmayın.
- Eklenti loglarını ve sunucu hata loglarını inceleyin.
7. Görsel ve Medya Optimizasyonu
Tema performansında görseller önemli rol oynar.
- Logo ve arka plan görsellerini sıkıştırın.
- Gereksiz büyük görseller kullanmayın.
- Harici font ve script sayısını sınırlayın.
- Lazy loading davranışlarını kontrol edin.
8. Veritabanı Sorgularını Azaltma
Add-on geliştirirken gereksiz sorgular performansı düşürür.
Kötü yaklaşım: Döngü içinde her satır için ayrı sorgu çalıştırmak.
İyi yaklaşım: Gerekli verileri finder/repository ile toplu almak ve entity relation/preload mantığını kullanmak.
Kod:
$threads = \XF::finder('XF:Thread')
->with('Forum')
->limit(20)
->fetch();
9. Kısa Performans Kontrol Listesi
- Debug/development mode canlı sitede kapalı mı?
- Gereksiz eklentiler devre dışı mı?
- Template modification logları temiz mi?
- Geniş regex kullanımı azaltıldı mı?
- Görseller optimize edildi mi?
- Önbellek rebuild işlemleri gerektiğinde yapıldı mı?
- Sunucu hata logları kontrol edildi mi?
Özet: XenForo performansı tema, eklenti, sorgu ve önbellek dengesidir. En iyi sonuç için önce ölçün, sonra küçük ve kontrollü iyileştirmeler yapın.