MeoHost Logo
Menü
BilgiMerkezi
Bilgi Merkezi/Veritabanı Sistemleri/MariaDB Performans Ayarları

MariaDB Performans Ayarları

Veritabanı Sistemleri13.02.2026Ahmet Yılmaz7 dk okuma

MariaDB performans ayarları, veritabanı sunucusunun genel verimliliğini, yanıt süresini ve kaynak kullanımını optimize etmek için kritik önem taşır. Bu ayarlamalar, sorgu işleme hızını artırarak, disk G/Ç operasyonlarını azaltarak ve bellek kullanımını verimli hale getirerek uygulama performansını doğrudan etkiler. Doğru yapılandırılmış bir MariaDB sunucusu, yoğun trafikli uygulamalarda bile kararlı çalışmayı garanti eder.

MariaDB Performans Ayarları

MariaDB Performans Ayarları

MariaDB Nedir?

MariaDB, MySQL'in orijinal geliştiricileri tarafından geliştirilmiş, açık kaynak kodlu, ilişkisel bir veritabanı yönetim sistemidir (RDBMS). MySQL ile yüksek düzeyde uyumluluğu sayesinde mevcut uygulamaların kolayca MariaDB'ye geçirilmesine olanak tanır. Gelişmiş özellikler, daha iyi performans ve artırılmış güvenlik sunarak web uygulamaları, kurumsal sistemler ve veri ambarları gibi geniş bir kullanım alanı bulur.

MariaDB Nasıl Çalışır?

MariaDB, istemci uygulamalarından gelen SQL sorgularını alır ve bunları işleyerek veritabanı üzerinde gerçekleştireceği işlemlerin planını oluşturur. Bu süreç şu adımları içerir:

  1. İstek Alma: İstemci uygulamaları, TCP/IP veya Unix soketleri aracılığıyla MariaDB sunucusuna SQL komutları gönderir.
  2. Sorgu Ayrıştırma ve Doğrulama: Sunucu, gelen SQL sorgusunu ayrıştırır, sözdizimini kontrol eder ve yetkilendirme denetimlerini yapar.
  3. Sorgu İşleyici: Ayrıştırılmış sorgu, sorgu işleyici tarafından işlenir. Bu aşamada, sorgunun yürütülme planı optimize edilir. MariaDB, sorgunun en verimli şekilde nasıl çalıştırılacağını belirlemek için indeksleri, istatistikleri ve önbelleği kullanır.
  4. Depolama Motoru Etkileşimi: Sorgu işleyici, verilerin fiziksel olarak saklandığı depolama motoruna (örneğin, InnoDB, MyISAM) iletilir. Depolama motoru, verileri okur, yazar veya günceller.
  5. Yanıt Döndürme: Depolama motorundan gelen sonuçlar, sorgu işleyici tarafından derlenir ve istemci uygulamasına geri gönderilir.

MariaDB'nin mimarisi, istemci protokolü, sorgu ayrıştırıcısı, sorgu optimize edicisi, sorgu yürütücüsü, depolama motoru arayüzü ve çeşitli depolama motorlarını içerir. Bu modüler yapı, farklı depolama ihtiyaçlarına göre özelleştirmeler yapılmasına imkan tanır.

MariaDB Performans Ayar Parametreleri

MariaDB'nin performansını optimize etmek için en sık kullanılan ve en etkili ayar parametreleri şunlardır:

  • innodb_buffer_pool_size: InnoDB depolama motoru tarafından kullanılan bellek alanının boyutunu belirler. Bu tampon havuzu, disk G/Ç'sini azaltmak için sık erişilen verileri bellekte tutar. Genellikle sunucunun RAM'inin %50-75'i kadar bir değere ayarlanması önerilir.
  • query_cache_size (MariaDB 10.1 ve öncesi) / query_cache_type: Daha önceki sürümlerde, tekrarlayan sorguların sonuçlarını önbelleğe alarak performansı artırabilirdi. Ancak, yüksek eşzamanlılık durumlarında önbellek kilitlenmeleri nedeniyle performans sorunlarına yol açabilir. MariaDB 10.1'den sonra kaldırılmıştır.
  • max_connections: Sunucunun aynı anda kabul edebileceği maksimum istemci bağlantı sayısını belirler. Uygulamanın ihtiyaçlarına göre ayarlanmalı, ancak çok yüksek değerler kaynak tüketimini artırabilir.
  • innodb_log_file_size: InnoDB işlem günlük dosyalarının boyutunu belirler. Daha büyük günlük dosyaları, daha seyrek checkpointing anlamına gelir ve yazma performansını artırabilir, ancak veri kurtarma süresini uzatabilir.
  • innodb_flush_log_at_trx_commit: İşlem günlüklerinin diske ne sıklıkla yazıldığını kontrol eder. 1 değeri en güvenli (her işlemde diske yaz) ancak en yavaş olanıdır. 2 değeri, işletim sistemi önbelleğine yazar, bu da daha hızlıdır ancak sunucu çökmesi durumunda veri kaybı riski taşır.
  • tmp_table_size ve max_heap_table_size: Bellekte oluşturulan geçici tabloların maksimum boyutunu belirler. Bu boyutları artırmak, disk tabanlı geçici tabloların kullanımını azaltarak sorgu performansını iyileştirebilir.
  • sort_buffer_size: Sıralama işlemleri için kullanılan tampon boyutunu ayarlar. Büyük sıralama işlemleri için bu değeri artırmak faydalı olabilir.
  • join_buffer_size: Birleştirme (join) işlemleri sırasında kullanılan tampon boyutunu ayarlar.
  • thread_cache_size: Sunucunun yeniden kullanmak üzere tuttuğu boş iş parçacığı (thread) sayısını belirler. Yeni bağlantılar kurulduğunda iş parçacığı oluşturma maliyetini azaltır.

Bu parametreler, my.cnf veya my.ini yapılandırma dosyası aracılığıyla ayarlanır ve MariaDB sunucusunun yeniden başlatılmasını gerektirir. Değişikliklerin etkisini gözlemlemek için performans izleme araçları kullanılmalıdır.

Veritabanı Optimizasyonu İçin Pratikler

MariaDB performansını artırmak için yalnızca yapılandırma parametrelerini ayarlamak yeterli değildir. Uygulama düzeyinde de çeşitli optimizasyon teknikleri uygulanmalıdır. Bu, genel veritabanı sağlığını ve performansını doğrudan etkiler.

  • Sorgu Optimizasyonu: Yavaş çalışan sorguları tespit etmek ve bunları daha verimli hale getirmek, performans artışının en büyük kaynaklarından biridir. EXPLAIN komutu kullanılarak sorgu yürütme planları incelenmeli ve gereksiz JOIN'ler, tam tablo taramaları ve karmaşık WHERE yan tümceleri optimize edilmelidir.
  • İndeks Kullanımı: Doğru indekslerin oluşturulması, sorgu performansını önemli ölçüde hızlandırır. Sık kullanılan WHERE, JOIN ve ORDER BY yan tümcelerinde kullanılan sütunlara indeks eklenmesi önerilir. Ancak, aşırı indeks kullanımı yazma performansını düşürebilir ve disk alanı tüketimini artırabilir.
  • Veritabanı Tasarımı: Normalizasyon seviyesini doğru ayarlamak, veri tekrarını azaltır ve veri bütünlüğünü sağlar. Ancak, aşırı normalizasyon karmaşık sorgulara yol açabilir. Uygulamanın ihtiyaçlarına göre uygun bir denge kurulmalıdır.
  • Veri Tipleri: Sütunlar için en uygun veri tiplerinin seçilmesi, disk alanı kullanımını azaltır ve sorgu performansını iyileştirir. Örneğin, sayısal veriler için uygun olan en küçük veri tipi (INT, SMALLINT vb.) kullanılmalıdır.
  • Partitioning (Bölümleme): Büyük tabloları daha küçük, yönetilebilir parçalara ayırmak, sorgu performansını ve bakım işlemlerini (yedekleme, geri yükleme, indeks yeniden oluşturma) iyileştirebilir.
  • İş Parçacığı Yönetimi: thread_cache_size gibi parametrelerle iş parçacığı havuzunu verimli yönetmek, bağlantı kurma maliyetini düşürür.
  • Bağlantı Havuzlama (Connection Pooling): Uygulama tarafında bağlantı havuzlama kullanmak, her istek için yeni bir veritabanı bağlantısı oluşturma ihtiyacını ortadan kaldırarak performansı artırır.

Bu pratikler, Veritabanı Optimizasyonu makalesinde daha detaylı olarak ele alınmaktadır.

MariaDB Yapılandırma Dosyası (my.cnf/my.ini)

MariaDB sunucusunun davranışını kontrol eden temel yapılandırma dosyası genellikle my.cnf (Linux/macOS) veya my.ini (Windows) olarak adlandırılır. Bu dosya, sunucu başlatıldığında yüklenir ve çeşitli parametrelerin değerlerini içerir. Dosyanın konumu işletim sistemine ve kurulum yöntemine göre değişiklik gösterebilir. Bazı yaygın konumlar şunlardır:

  • Linux: /etc/my.cnf, /etc/mysql/my.cnf, /etc/mysql/mariadb.conf.d/50-server.cnf
  • macOS (Homebrew): /usr/local/etc/my.cnf
  • Windows: C:\ProgramData\MySQL\MySQL Server X.X\my.ini

Yapılandırma dosyası, [mysqld] bölümü altında sunucuya özgü ayarları içerir. Örnek bir yapılandırma bölümü:

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
pid-file=/var/run/mysqld/mysqld.pid
log-error=/var/log/mysqld.log

# Performans Ayarları
innodb_buffer_pool_size = 2G
innodb_log_file_size = 512M
innodb_flush_log_at_trx_commit = 2
max_connections = 200
tmp_table_size = 128M
max_heap_table_size = 128M
sort_buffer_size = 4M
join_buffer_size = 8M
thread_cache_size = 16

Yapılandırma dosyasında yapılan değişiklikler, sunucunun yeniden başlatılmasından sonra geçerli olur. Her değişiklikten sonra, sistemin davranışını ve performansını dikkatlice izlemek önemlidir.

2026 Sektör Verileri ve İstatistikler

Veritabanı teknolojilerinin hızla evrildiği günümüzde, MariaDB gibi açık kaynaklı RDBMS'lerin pazar payı ve kullanım trendleri dikkat çekicidir. W3Techs 2026 verilerine göre, MariaDB'nin MySQL ile birlikte açık kaynak veritabanları arasındaki pazar payı istikrarlı bir şekilde artış göstermektedir. Statista 2026 raporuna göre, küresel veritabanı pazarının büyüklüğünün 2026 yılına kadar önemli ölçüde artması beklenmektedir ve bu büyümenin önemli bir kısmı bulut tabanlı ve açık kaynaklı çözümlerden kaynaklanmaktadır. Cloudflare Radar 2026 verilerine göre, web uygulamalarının performans ve güvenilirlik ihtiyaçları arttıkça, optimize edilmiş veritabanı çözümlerine olan talep de yükselmektedir. Netcraft 2026 araştırmasına göre, sunucu tarafı teknolojilerde açık kaynaklı çözümlerin hakimiyeti devam etmekte ve MariaDB bu eğilimden olumlu etkilenmektedir.

Sık Yapılan Hatalar ve Çözümleri

  • innodb_buffer_pool_size çok düşük ayarlanmış

    Bu, disk G/Ç'sinin artmasına ve genel yavaşlamaya neden olur. Çözüm, sunucunun kullanılabilir RAM'inin büyük bir kısmını (genellikle %50-75) bu parametreye atamaktır.

  • Yetersiz veya yanlış indeks kullanımı

    Sorguların tam tablo taramasına yol açması performans düşüklüğüne neden olur. Çözüm, EXPLAIN ile sorgu planlarını analiz etmek ve doğru indeksleri oluşturmaktır.

  • innodb_flush_log_at_trx_commit = 1 ile yüksek yazma yükü

    Her işlem için diske yazma, yazma performansını önemli ölçüde düşürebilir. Yoğun yazma işlemleri olan ortamlarda innodb_flush_log_at_trx_commit = 2 gibi bir değere geçmek performansı artırabilir, ancak sunucu çökmesi durumunda küçük veri kayıpları riski vardır.

  • Aşırı max_connections değeri

    Çok yüksek bir max_connections değeri, sunucunun kaynaklarını aşırı tüketebilir ve kararsızlığa yol açabilir. Çözüm, gerçekçi bir bağlantı adedi belirlemek ve bağlantı havuzlamayı kullanmaktır.

  • Karmaşık ve optimize edilmemiş sorgular

    Veritabanı performansının ana düşmanlarından biridir. Çözüm, sorgu optimizasyonu tekniklerini uygulamak ve EXPLAIN komutunu etkin kullanmaktır.

Teknik Özellikler ve Standartlar

MariaDB, SQL (Structured Query Language) standardına büyük ölçüde uymaktadır. InnoDB depolama motoru, ACID (Atomicity, Consistency, Isolation, Durability) özelliklerini destekleyerek veri bütünlüğünü ve güvenilirliğini sağlar. Veri iletişimi için standart TCP/IP protokolünü kullanır. Performans ayarlamaları için kullanılan parametreler, genellikle MariaDB'nin kendi dokümantasyonunda ve topluluk tarafından belirlenen en iyi uygulamalara dayanır. Veritabanı şema tasarımlarında, normalizasyon prensipleri ve veri tipi seçimi gibi ilişkisel veritabanı tasarımı standartları geçerlidir.

İlgili Konular

MariaDB performansını daha etkin yönetmek için veritabanı optimizasyonu tekniklerini anlamak önemlidir. Bu konuyla ilgili detaylı bilgi edinmek için Veritabanı Optimizasyonu makalesini inceleyebilirsiniz.

Sık Sorulan Sorular

MariaDB Performans Ayarları hakkında merak edilenler

Sorgu performansı artırmak için doğru indekslerin oluşturulması, yavaş çalışan sorguların EXPLAIN ile analiz edilip optimize edilmesi ve veritabanı tasarımının gözden geçirilmesi gibi yöntemler kullanılır.
MariaDB 10.1 ve sonraki sürümlerinde sorgu önbelleği kaldırılmıştır çünkü yüksek eşzamanlılık ve sık veri değişiklikleri olan ortamlarda önbelleğin güncelliğini korumak ve kilitlemeleri yönetmek karmaşık hale gelmiş, hatta performansı düşürebilmiştir.

Sorunuz burada yok mu?

Canlı destek ekibimiz size yardımcı olmaya hazır.

İletişime Geç
A

Ahmet Yılmaz

İçerik Uzmanı

Web teknolojileri ve hosting çözümleri konusunda uzmanlaşmış içerik yazarı.

Web HostingTeknik Dokümantasyon
Yayın: 13 Şubat 2026
Uzman İçerik
Doğrulanmış Bilgi
Güncel Bilgi

İlgili Makaleler