Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

MariaDB/MySQL'de Query Cache'in Durumunu Kontrol Etme ve Tamamen Devre Dışı Bırakma Yöntemi

codexor

Üye
Katılım
14 Mart 2026
Mesajlar
43
Merhaba arkadaşlar, bugün sizlere özellikle MariaDB 10.1.7 ve MySQL 5.7.20 sonrası sürümlerde artık önerilmeyen, hatta performans sorunlarına yol açabilen Query Cache'i nasıl kontrol edeceğinizi ve tamamen nasıl devre dışı bırakacağınızı anlatacağım. Bu işlem, modern sunucu yapılarında daha stabil ve yüksek performanslı bir veritabanı hizmeti almanıza yardımcı olacaktır.

🔍 Query Cache Nedir ve Neden Kapatmalıyız?

Query Cache (Sorgu Önbelleği), aynı SELECT sorgusu tekrar çalıştırıldığında sonucu önbellekten döndürerek hız kazandırmayı amaçlayan eski bir özellikti. Ancak, özellikle yüksek yazma (UPDATE/INSERT) oranı olan sistemlerde, bu önbelleği sürekli temizlemek (invalidate etmek) ciddi bir kilitlenme (contention) kaynağı oldu. Geliştiriciler de bu nedenle bu özelliği kullanımdan kaldırdı (deprecated). Benim sunucularda genelde ilk yaptığım işlemlerden biridir, siz de güvenle kapatabilirsiniz.

📊 Mevcut Durumu Kontrol Etme

Öncelikle Query Cache'in sunucunuzda aktif olup olmadığını ve durumunu kontrol edelim. MariaDB veya MySQL komut satırına bağlanıp aşağıdaki komutu çalıştırmanız yeterli.

SQL:
SHOW VARIABLES LIKE 'query_cache_type';
SHOW VARIABLES LIKE 'query_cache_size';

İlk komut, önbelleğin durumunu gösterir. Eğer sonuç ON veya DEMAND ise aktif demektir. OFF ise zaten kapalıdır.
İkinci komut ise ayrılan önbellek boyutunu gösterir. Varsayılan değer genellikle 1M (1 Megabyte) civarındadır. Boyutun 0 olması, özelliğin etkisiz olduğu anlamına gelir.

Daha detaylı bir durum raporu almak için aşağıdaki komutu kullanabilirsiniz:

SQL:
SHOW STATUS LIKE 'Qcache%';

⚙️ Query Cache'i Kalıcı Olarak Devre Dışı Bırakma

Şimdi gelelim asıl işleme. Query Cache'i tamamen kapatmak için iki ana değişkeni yapılandırmanız gerekiyor: query_cache_type ve query_cache_size.

Bu ayarı kalıcı yapmak için, MariaDB/MySQL'in yapılandırma dosyasını düzenlemeliyiz. Bu dosya genellikle /etc/mysql/my.cnf, /etc/my.cnf veya /etc/mysql/mariadb.conf.d/50-server.cnf yolunda olabilir. Benim tercihim /etc/mysql/mariadb.conf.d/50-server.cnf dosyasıdır.

Öncelikle dosyayı bir editörle açalım (sudo yetkisi gerektiğine çok dikkat edin):

Bash:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Dosyanın içinde, genellikle [mysqld] bölümünün altında, aşağıdaki satırları bulun veya ekleyin:

INI:
[mysqld]
# Query Cache'i tamamen devre dışı bırak
query_cache_type = 0
query_cache_size = 0

query_cache_type = 0 özelliği tamamen kapatır. query_cache_size = 0 ise önbellek için bellek ayrılmasını engeller. İkisini birlikte kullanmak en garanti yöntemdir.

Değişiklikleri kaydettikten sonra (nano için Ctrl+X, sonra Y ve Enter), MariaDB/MySQL servisini yeniden başlatarak ayarların etkin olmasını sağlayın.

Bash:
sudo systemctl restart mariadb  # MariaDB için
# veya
sudo systemctl restart mysql    # MySQL için

Servis yeniden başladıktan sonra, tekrar bağlanıp kontrol komutlarını çalıştırarak her iki değişkenin de OFF ve 0 olduğunu doğrulayın.

✅ Son Kontrol ve Son Sözler

Her şeyin yolunda gittiğinden emin olmak için son bir kontrol yapalım:

SQL:
SHOW VARIABLES WHERE Variable_name IN ('query_cache_type', 'query_cache_size');

Çıktıda query_cache_type değeri OFF, query_cache_size değeri ise 0 olmalıdır.

İşte bu kadar! Artık veritabanı sunucunuz, modern uygulamalar için daha uygun ve daha az kaynak çekişmesi yaşayan bir yapıda çalışıyor. Özellikle MariaDB 10.x ve MySQL 8.0 kullanan arkadaşların bu ayarı mutlaka yapmasını tavsiye ederim.

Peki siz bu konfigürasyonu kendi sunucularınızda nasıl yapıyorsunuz? Query Cache kapatıldıktan sonra gözlemlediğiniz bir performans farkı oldu mu? Ya da farklı bir optimizasyon yönteminiz var mı? Sorularınız ve tecrübeleriniz için aşağıya yazmaktan çekinmeyin. Hep birlikte öğrenelim.
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri