Oxygen Chrome Sunucuda MySQL Optimizasyonu: InnoDB, Buffer Pool, Query Cache - SONMEZZ

Konuyu Sesli Okuma

Manşet

En Yeniler
⏳ Manşetler yükleniyor...

Duyuru Alanı

Kutsal Bilgi
Kutsal Bilgi Tapınağı
Hoş Geldiniz Bilge Yolcu

Story

Yönetici
Admin
SVIP Member
Verified
Puanlar
5679
Başarılar
8


MySQL Performans Optimizasyonu (cPanel & DirectAdmin)

MySQL, web sitenizin en kritik bileşenlerinden biridir. Doğru yapılandırılmamış bir MySQL sunucusu, sitenizin yavaşlamasına hatta çökmesine neden olabilir. Bu rehberde cPanel ve DirectAdmin üzerinde MySQL optimizasyonunu adım adım anlatacağım.


📌 1. Mevcut Durumu Kontrol Edin

Optimizasyona başlamadan önce mevcut yapılandırmayı yedekleyin:

cat /etc/my.cnf
mysqladmin variables -u root -p | grep "buffer_size"

📁 2. Hazır Konfigürasyon Dosyaları (Eski sistemler için)

MySQL'in eski sürümlerinde hazır .cnf dosyaları bulunurdu. Bu dosyalar MySQL 5.7+ için geçerlidir:

Dosya Önerilen RAM
my-small.cnf < 64 MB
my-medium.cnf 32 - 64 MB
my-large.cnf 512 MB - 2 GB
my-huge.cnf 2 GB - 4 GB

⚠️ Uyarı: Bu dosyalar MySQL 5.5 ve öncesi içindir. MySQL 8.0 kullanıyorsanız, aşağıdaki modern yöntemi uygulayın.


🚀 3. Modern MySQL Optimizasyonu (MySQL 5.7+ / 8.0)

Hazır dosyalar yerine manuel optimizasyon daha sağlıklıdır. Aşağıdaki parametreleri /etc/my.cnf dosyanıza ekleyin:

[mysqld]
# InnoDB (günümüz standart motoru)
innodb_buffer_pool_size = 1G        # Toplam RAM'in %70-80'i
innodb_log_file_size = 256M
innodb_flush_log_at_trx_commit = 2  # Performans için (kritik veride 1)
innodb_flush_method = O_DIRECT

# Genel
max_connections = 150
query_cache_size = 0                # MySQL 8.0'da kaldırıldı
query_cache_type = 0

# MyISAM (eski tablolar için)
key_buffer_size = 64M
table_open_cache = 4000

# Günlük
slow_query_log = 1
slow_query_log_file = /var/log/mysql-slow.log
long_query_time = 2

⚙️ 4. Yapılandırmayı Uygulama (cPanel / DirectAdmin)

Önce mevcut dosyayı yedekleyin:

cp /etc/my.cnf /etc/my.cnf.yedek

Yeni dosyayı oluşturun veya düzenleyin:

nano /etc/my.cnf

MySQL'i yeniden başlatın:

# cPanel ve modern sistemler
systemctl restart mysql

# veya
service mysql restart

# DirectAdmin
systemctl restart mysqld

# veya
service mysqld restart

🔍 5. Optimizasyonu Test Etme

Optimizasyon sonrası performansı kontrol edin:

mysqladmin status -u root -p
mysqlcheck -o --all-databases   # Tabloları optimize et

Ayrıca MySQL Tuner aracını kullanarak öneriler alabilirsiniz:

wget https://raw.githubusercontent.com/major/MySQLTuner-perl/master/mysqltuner.pl
perl mysqltuner.pl

⚠️ Önemli Uyarılar

  • my-huge.cnf gibi dosyaları doğrudan kopyalamak güncel MySQL'de hata verebilir.
  • ✅ Her sunucu farklıdır; kesin performans için MySQL Tuner gibi araçlarla test yapın.
  • ✅ Değişikliklerden sonra mysql.log dosyasını kontrol edin.
  • ✅ Production sunucusunda değişiklik yapmadan önce yedek alın.


📖 Kaynaklar:
- MySQL InnoDB Optimizasyonu
- MySQL Tuner Aracı

Yanıtlamak için burayı tıklayın.
comment url
Giriş Yap