X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar
X

Lütfen Ülke (Bölge) Seçiniz

Türkiye (Türkçe)Türkiye (Türkçe) Worldwide (English)Worldwide (English)
X

Lütfen Para Birimi Seçiniz

Türk Lirası $ US Dollar

MySQL Veritabani Optimizasyonu ve Performans Artirma

AnasayfaYazılarTeknik RehberlerMySQL Veritabani Optimizasyonu ve P...

Sanal Sunucularda MySQL Neden Yavaşlar?

Web sitenizin alt yapısı ne kadar güçlü olursa olsun (örneğin %100 NVMe diskli bir sanal sunucu kullanıyor bile olsanız), yapılandırılmamış bir MySQL veya MariaDB servisi sitenizi yavaşlatacaktır. MySQL varsayılan ayarlarıyla kurulduğunda genellikle çok düşük kaynak tüketmek üzere optimize edilir. Trafiğiniz arttığında bu ayarları değiştirmek şarttır.

1. my.cnf (Konfigürasyon) Dosyasını Düzenleme

Veritabanı sunucunuzun temel ayarları my.cnf (genellikle /etc/my.cnf veya /etc/mysql/my.cnf) dosyasında tutulur. SSH ile bağlanarak bu dosyayı açın ve aşağıdaki değerleri sunucu RAM kapasitenize (Örn: 4GB) göre orantılı olarak artırın:

[mysqld]
innodb_buffer_pool_size = 1G
max_connections = 500
query_cache_type = 1
query_cache_size = 64M
tmp_table_size = 64M
max_heap_table_size = 64M

En kritik ayar innodb_buffer_pool_size seçeneğidir; bunu sunucunuzdaki toplam RAM'in %40 ila %60'ı arasına ayarlamanız, veritabanının verileri disk yerine RAM üzerinden çok daha hızlı okumasını sağlar.

2. MySQLTuner Scriptini Kullanma

Hangi ayarı ne kadar yapacağınızı bilmiyorsanız, Perl tabanlı MySQLTuner aracı size bir reçete sunar. Sunucunuza indirip çalıştırın:

wget http://mysqltuner.pl/ -O mysqltuner.pl
chmod +x mysqltuner.pl
./mysqltuner.pl

Script, veritabanınızı analiz edip en sonda "Recommendations" (Tavsiyeler) kısmında hangi my.cnf değişkenlerini değiştirmeniz gerektiğini söyleyecektir.

3. Periyodik Tablo Optimizasyonu

Veritabanınızda silinen veya güncellenen veriler arkalarında boşluklar (fragmentation) bırakır. Belli aralıklarla tablolarınızı optimize etmelisiniz:

mysqlcheck -o --all-databases

Yüksek trafiği olan, güçlü bir veritabanı altyapısı isteyen e-ticaret veya haber siteleri için özel olarak tasarlanmış yüksek performanslı Türkiye VDS paketlerimizi inceleyebilir ve arama motorlarında sitenizi uçurabilirsiniz!


Top