7 Nisan 2016 Perşembe

Wordpress veritabanında transient sorunu

                                                                                                       
Wordpress sitenizin veritabanı içerisinde bulunan options sekmesi içerisinde oluşan transient verilerde anormal artışlar gözlemleyebilirsiniz.





Veritabanında benimde başıma gelen problem serverin çökmesi oldu. Veritabanındaki anormal artış  serverin kitlenmesine de neden oldu.

Sitenin susması (Site suspended) durumu meydana geldiğinde hemen yetkililere ticket açarak sebebini sordum. Veritabanının aşırı çalışmasını neden gösterdiler. Neyse yetkili kişiyi ikna ederek site açıldığında phpMyAdmin den veritabanına ulaştığımda gözlerime inanamadım. Options kısmında 1.300.000 kayıt var. Hala daha veritabanı şişmeye devam etmekte.

Options bölümünün ilk kısımlarında site ile ilgili çok önemli bilgiler bulunmakta, buranın silinmesi sitenin açılmamasına neden olmakta.

Bu kadar çok veriden hangisinin silineceği çok önemli
Son verilere baktığımda hep aynı şekilde başlayan binlerce verilerin olduğunu gördüm.

_transient_timeout_mc_
_transient_mc_
_transient_timeout_bbp_
_transient_bbp_
_transient_bbp_eca

_transient ile başlayan verileri sildim.
Ancak silmekle iş bitmiyor, tekrar refresh ettiğimde yeni veriler eklenmekteydi.

Transient konusunda ayrıntılı bilgi almak için tıklayın


Çözüm yolu 

_transient ön bellekte saklanan verilerdir. Bazı işler ters giderse diye wordpress veritabanına yedeğini almakta bunun sonucu olarak veritabanında şişmeler olmaktadır.

1. Çözüm: Bunları silmek için hazırlanmış eklentiler bulunmakta. Veritabanındaki gereksiz bilgileri temizliyor.

Bunlardan  kullandığım ve en işe yarayanı Transients Manager eklentisi.

Eklentinin kurulumu basit

Wordprees yönetim panelindeki eklentiler kısmından yeni ekle kısmında Transients yazdığınızda çıkmakta.

Kurduktan sonra, araçlar kısmında transients olarak kendini eklemekte.


Burada geçici olarak meydana gelen dosyaları teker teker silebileceğiniz gibi Delete All Transients diyerek hepsini silebilirsiniz.
Veritabanında options kısmında baktığınızda silmeden önce ve sonra farkı kolaylıkla görebilirsiniz.

2. Çözüm: 
Bu tür kayıtları manuel olarak da silmeniz mümkün. Aşağıdaki SQL kodunu phpMyAdmin içerisine gelerek veritabanına gelin, SQL sekmesine tıklayın. Aşağıdaki kodu yapıştırın. Ön ek olarak wp_options yerine kendi ön ekinizi değiştirin. Git düğmesine tıkladığınızda, uyaru mesajına evet dediğinizde options tablosunda kaç kaydın silindiğini söyleyecektir.

DELETE FROM wp_options WHERE option_name LIKE ('_transient_%'); 





3. Çözüm: Wordpress sürümünü ve eklentilerinizi güncelleyin, birbiri ile çakışan eklentiler varsa kaldırın. Temanızda sıkıntı varsa başka bir tema kullanın. Bunları yaptıktan sonra bendeki sorun bitti fakat kesin olarak hangisinden olduğunu söylemem zor.

Bazı eklentilerin bu gibi sorunlara neden olması en kuvvetli ihtimal.





0 yorum:

Yorum Gönder