XenForo Veritabanı Optimize Etme işlemi nasıl yapılır?
Sorunun özeti
XenForo’da “Veritabanı optimize etme” iki şekilde ele alınabilir:
1) Admin panelinden bakım/onarım işlemleri
2) MySQL/MariaDB tarafında tablo optimizasyonu (phpMyAdmin veya komut satırı)
Aşağıda ikisini de adım adım yazıyorum.
1. XenForo admin panelinden bakım/optimizasyon
Tam anlamıyla “OPTIMIZE TABLE” yapmaz ama tablo bütünlüğü ve index açısından temizlik sağlar, genelde çoğu forum için bu kadarı yeterlidir.
- AdminCP’ye gir
- Araçlar (Tools) menüsüne tıkla
- Bakım (Maintenance) bölümüne gir
- Burada:
- Onarım: Tabloları onar (Rebuild caches / Rebuild...) gibi seçenekleri kullan
- Özellikle:
- Kullanıcı istatistiklerini yeniden oluştur
- Arama indexini yeniden oluştur
- İçerik sayacı, forum sayacı gibi sayaç/önbellek rebuild işlemlerini çalıştır
Bu işlemler:
- Bozuk sayaçları düzeltir
- Arama performansını iyileştirir
- Önbellekleri temizleyip sağlıklı hale getirir
2. Veritabanı (MySQL/MariaDB) tarafında gerçek "OPTIMIZE" işlemi
Önemli uyarı: Canlı sitede işlem yapmadan önce mutlaka
tam veritabanı yedeği al. Büyük tablolarda (özellikle
xf_post,
xf_thread) işlem süresince kilitlenme olabilir, bu sırada site yavaşlayabilir veya kısa süreliğine kilitlenebilir.
A) phpMyAdmin üzerinden
- Hosting kontrol panelinden phpMyAdmin’e gir
- Soldan XenForo veritabanını seç
- Tablo listesinde:
- Tümünü işaretle (alt/üst kısımdaki “Tümünü işaretle” kutucuğu)
- Alt kısımda Seçili olanları: menüsünden Optimize table seç
- Çalıştır dedikten sonra her tablo için
OPTIMIZE TABLE komutu uygulanır
Yalnızca çok büyüyen tablolara yapmak istersen örnek (XenForo’nun tipik büyük tabloları):
- xf_post
- xf_thread
- xfiplog
- xferrorlog
- xf_session (çöpe yakın oturum verileri – gerekirse temizlenip optimize edilebilir)
B) Komut satırı (SSH) üzerinden
Sunucuya SSH erişimin varsa, root veya ilgili kullanıcıyla giriş yapıp MySQL’e bağlanabilirsin:
Bash:
Kodları sadece üyelerimiz görebilir.
Şifreyi girdikten sonra:
SQL:
Kodları sadece üyelerimiz görebilir.
Tüm tablolar için tek seferde yapmak istersen (büyük sitelerde dikkatli olmak lazım):
SQL:
Kodları sadece üyelerimiz görebilir.
Bu çıkan komutları kopyalayıp çalıştırabilirsin.
3. Ne sıklıkla yapmak gerekir?
- Küçük/orta ölçekli forumlarda:
- 3–6 ayda bir genel optimizasyon yeterli
- Çok büyük ve yoğun forumlarda:
- İzleme (slow query log, disk kullanımı, fragmentasyon) sonucuna göre ihtiyaç oldukça
Sık sık manuel
OPTIMIZE TABLE yapmak yerine:
- MySQL/MariaDB’yi InnoDB ile ve uygun
innodb_file_per_table, innodb_buffer_pool_size ayarlarıyla kullanmak
- Eski log ve oturum verilerini otomatik temizlemek (XF’nin kendi pruning ayarları)
genelde daha etkili bir “optimizasyon” sağlar.
Özet
XenForo içinde AdminCP → Araçlar → Bakım kısmındaki rebuild/bakım işlemleri temel temizlik/optimizasyonu sağlar. Asıl veritabanı tablosu sıkıştırma ve parçalanmayı giderme işlemi ise phpMyAdmin veya MySQL üzerinden
OPTIMIZE TABLE komutuyla yapılır. Tüm işlemlerden önce mutlaka veritabanı yedeği almak gerekir.