Çatlak Dünya » Anasayfa » Wordpress

Detaylı WordPress Veritabanı Optimizasyonu

8 Ekim 2011 | Yazar: Mümin Köykıran | Yorum yok | 3.257 Kez Ziyaret Edildi.

WordPress’im PHP tabanlıdır ve MySQL veritabanı bağlantılı bir sistem olduğu bilmeyen yoktur. WordPress’de site ayarları dahil olmak üzere tüm içerik veritabanında saklanır. Herhangi bir wordpress sitesi ziyeret edildiğinde tüm bilgiler veritabanına yapılan sorgular ile getirilir. Aslında dinamik web sitelerinin hepsinde işlem aynen wordpress deki gibidir. Ancak yanlış kullanım, gereksiz işlemler ve silinmeyen girdiler yüzünden veritabanındaki sorgulama hızı düşebilmektedir.
WordPress ile veritabanı arasındaki iletişim hızının düşmemesi için çeşitli optimizasyonlar yapılabilir. Yapılabilir biraz eksik olur, bu optimizasyonlar sağlıklı wordpress çalışması için olmazsa olmazlardandır.
Her zaman olduğu gibi veritabanın değişiklikler yapacağımız için öncesinde yedek almanız önerilir.
Veritabanına Yapılan Sorgu Sayısı

WordPress’im sorgu çıkışlarını tamamlamak için gereken zamanı ve sorgu sayısını bulmak için en basit yöntem:

saniyede sorgu

Veritabanı Sorguları Debug

Veritabanı hataları gidermek ve sorgularını optimize etmek için sadece WordPress sorgu çıkış sayısını bilmek yeterli olmayabilir. Ayrıca WordPress de hangi sorguları ne olduğunu anlamak ve ne kadar sürede dönüş yaptığını anlamak için Debug Queries eklentisine ihtiyacımız olacaktır.

Artık wordpress veritabanı istatistikleri biliyorsunuz. Veritabanı optimize etmeye başlayabilirsiniz. Sitenizi yavaşlatan ekstra sorgulara neden olan eklentileri belirlemek için sorgular analiz edebilirsiniz. Bir eklentinin çok fazla sorgu yaptığını fark ederseniz, aynı görevi yapan başka bir eklentiyi deniyebilirsiniz.
Veritabanı Tablolarını Optimize

Bu işlemi aslında phpmyadmin üzerinden de yapabilirsiniz fakat phpmyadmin’e pek fazla aşına olmayanlar için WordPress geliştiricileri eklentiler oluşturmuşlardır. Bu eklentler veritabanınızı optimize ederken ayrıca toplam veritabanı büyüklüğü ve optimizasyon tamamladıktan sonra veritabanın ne kadar azaltıldığını gösterecektir.
Wp Optimize

wp-config.php Dosyasındaki Düzenlemeler

Kolayca WordPress veritabanı bakım ve optimizasyonu sağlamak için bir kaç tane wp-config.php ayarlamaları mevcuttur.

Çöpleri Boşaltma
Wordpress 2.9 verisyonuyla yazılar, sayfalar ve yorumlar için yeni işlevler getirdi. Çöpe taşıdığınız yada çöp olarak algılanan yazılar, mesajlar veya yorumlar normal şartlarda wordpress den 30 gün sonra silinir. Bu 30 gün boyunca bu çöpler veritabanınızda gereksiz yer işgal etmektedir. Bu çöpleri 30 gün yerine 10 günde bir wordpress in silmesiniz isterseniz wp-config.php dosyanıza aşağıdaki satırı ekleyebilirsiniz.

Kod:
define(‘EMPTY_TRASH_DAYS’, 10 );
Çöpe atılan yazı, sayfa ve yorumların hemen tamamen silinmesini isterseniz de

Kod:
efine(‘EMPTY_TRASH_DAYS’, 0 );
kodunu ekleyebilirsiniz.

Veritabanı Onarma
Wordpress 2.9 eklenen başka bir işlev ise otomatik veritabanını onarma işlevidir. Bu işlevi açmak için wp-config.php dosyanıza aşağıdaki satırı ekleyiniz.

Kod:
define(‘WP_ALLOW_REPAIR’, TRUE);
Eğer bu işlevi manuel olarak yapmak isterseniz kendinize göre düzenleyerek http://www.wpsiteadresiniz.com/wp-admin/maint/repair.php yolunu takip ederek yapabilirsiniz.

Post Revision Özelliğini Kapatmak
Wordpress 2.6 ile gelen post revision özelliği ilk başlarda herkese çok güzel gelebilir. Çünkü yazı yazarken herhangi bir nedenle tarayıcınız kapansa dahi yazınız saklanmış oluyor. Fakat bu yazı sürümleri kaydetme özelliği bir zaman sonra veritabanına çok fazla yük bindireceği için canınızı sıkabilir. Bu özelliği kapatmak için wp-config.php dosyanıza aşağıdaki satırı ekleyebilirsiniz.

Kod:
define(‘WP_POST_REVISIONS’, FALSE);

Otomatik Taslak kayıt özelliğini zaman aralığı
Post revision ve otomatik taslak kayıt farklı şeylerdir. Post revision yazı sürümleri olarak türkçeye çevrilir. Yazı sürümlerinde her kayıt farklı bir girdi olarak yapılır, otomatik taslak kayıtlarında önceki kayıt edilen taslağın üzerine kayıt yapılır. normalde 60 saniye olan otomatik taslak kayıtın zaman aralığını 1800 saniye yani 30 dakika olarak değiştirmek isterseniz. Aşağıdaki satırı wp-config.php dosyanıza ekleyebilirsiniz.

Kod:
define( ‘AUTOSAVE_INTERVAL’, 1800 );

WordPress Optimizasyon için SQL Sorguları
Sorguları çalıştırmak için phpmyadmine giriş yapıp sorgu/query sekmesini açıyorsunuz.
*bu sorguları çalıştırmadan önce tekrar veritabanı yedeğinizi mutlaka alınız.
Otomatik Yazı Sürümlerini(post revisions) Silme:

Kod:
DELETE a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = ‘revision’
Bütün Pingback ve Trackback Girdileri Silme:

Kod:
DELETE FROM wp_comments WHERE comment_type = ‘pingback’;
DELETE FROM wp_comments WHERE comment_type = ‘trackback’;
Bütün Spam yorumların Silinmesi:

Kod:
DELETE FROM wp_comments WHERE comment_approved = ‘spam’;
Gereksiz Meta Key lerin temizlenmesi:
Standart wordpress işlevlerinde meta key ler çok fazla girdi oluşturur ve wp_postmeta tablonuzun şişmesine neden olur.

Kod:
DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_lock’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_edit_last’;
DELETE FROM wp_postmeta WHERE meta_key = ‘_wp_old_slug’;

Kullanılmayan Tabloların Veritabanından Silinmesi
Eğer çok fazla eklenti deniyorsanız ve sonra siliyorsanız, denediğiniz her bir eklenti veritabanınızda daha sonra hiç gerekmeyen tablolar oluşturabilir. Veritabanınızdaki hangi tabloların gereksiz veya kullanılmadığını anlamak için Debug Querries ekletisinin çıktısını analiz ederek sonuçlardan hangi tabloların kullanılmadığını görebilirsiniz.
Bu işlemi yaparken dikkat etmeniz gereken önemli nokta WordPress in kendi standart tablolarını silmemenizdir.
Wordpress Standart Tabloları:

Kullanılmayan wp_options girdilerinin silinmesi

Her denediğiniz eklenti veritabanında tablo oluşturmayabilir bunun yerine veritabanında wordpress in standart tablolarından olan wp-options a girdiler atabilir. Eklentiyi kaldırsanız silseniz bile bu girdiler genelde wp_options tablosundan silinmez. Bu gereksiz, kullanılmayan girdileri silmek için Wp Clean Options eklentisini kullanabilirsiniz.
Clean Options eklentisi wp_options tablosundaki gereksiz girdi tanımlanız için size yardımcı olan bir eklentidir. Eklenti wp_options tablonuzu tarayarak gereksiz girdilerin listesini size sunacaktır.

Veritabanı Sorgularını Önbellekleme

WordPress veritabanındaki tüm temizlik işlemlerinden sonra yapacağınız son adım veritabanı önbelleklemedir. Bu sayede wordpress sitenin performansı artar ve siteyi hızlandırır. Genel olarak veritabanı sorgularını önbelleğe alarak, SQL sorgularının miktarını azaltmaya yardımcı olur. Bu işlem için DB Cache Reloaded eklentisini kullanabilirsiniz.

 

Not: WordPress Optimizasyon sadece bunlarla sınırlı değildir. Talebe göre WordPress ve veritabanı Optimizyon hakkında yazıların devamı gelicektir.

Bir önceki yazımız olan başlıklı makalemizi de okumanızı öneririz.
quup FaceBook'ta paylaş
 Yazının Etiketleri  
avatar

Mümin Köykıran

http://catlak-dunya.com Araştırmayı seven birisiyim, meraklı bir kişiliğim var bilgisayar ile ilgili hiçbir konuda uğraşmaktan sıkılmam. Kendimi bilgisayar ile ilgili her konuda geliştirmeye çalışıyorum. Çanakkale On Sekiz Mart Bilgisayar Mühendisliği Öğrencisiyim. Google+

Teknoloji Haberleri

Teknoloji Haberleri

sayac