Ubuntu’da MariaDB Performans Optimizasyonu

Ubuntu sunucularında MariaDB veritabanı yönetim sistemini kullanırken, performans optimizasyonu kritik bir öneme sahiptir.

Reklam Alanı

Ubuntu sunucularında MariaDB veritabanı yönetim sistemini kullanırken, performans optimizasyonu kritik bir öneme sahiptir. Özellikle yüksek trafikli web uygulamaları veya veri yoğun iş yükleri için varsayılan ayarlar yetersiz kalabilir. Bu makalede, Ubuntu ortamında MariaDB’yi etkili bir şekilde optimize etmek için adım adım rehberlik sunacağız. Temel yapılandırma değişikliklerinden sorgu iyileştirmelerine ve sistem monitöringine kadar pratik yaklaşımları ele alacağız. Bu optimizasyonlar, sorgu yanıt sürelerini kısaltarak kaynak kullanımını verimli hale getirir ve sistem kararlılığını artırır. Başlamak için MariaDB’nin kurulu olduğunu ve sudo erişiminizin bulunduğunu varsayıyoruz.

MariaDB Yapılandırma Dosyasını Düzenleme

MariaDB’nin performansını artırmanın ilk adımı, my.cnf dosyasını özelleştirmektir. Bu dosya genellikle /etc/mysql/mariadb.conf.d/50-server.cnf konumunda bulunur. Düzenleme öncesi veritabanını durdurun: sudo systemctl stop mariadb. Ardından nano veya vim ile dosyayı açın ve [mysqld] bölümüne eklemeler yapın. Değişiklikleri kaydettikten sonra sudo systemctl start mariadb ile yeniden başlatın. Bu işlem, sunucu belleği ve işlemci özelliklerine göre uyarlanmalıdır.

Önemli parametrelerden biri innodb_buffer_pool_size’dır. Bu, InnoDB tabloları için ayrılan bellek havuzunu belirler. Toplam RAM’in %60-70’ini ayırın; örneğin 8 GB RAM’li bir sunucuda 5G olarak ayarlayın. Benzer şekilde, key_buffer_size MyISAM tabloları için 256M’ye çıkarılabilir. Bu ayarlar, disk I/O’sunu azaltarak okuma/yazma hızını önemli ölçüde iyileştirir. Değişiklik sonrası mysqladmin -u root -p status ile durumu kontrol edin.

Sorgu ve Tablo Optimizasyon Teknikleri

Indexleme Stratejileri Uygulama

Indexler, sorguların hızını katlayabilir. Sık kullanılan WHERE, JOIN ve ORDER BY sütunlarına index ekleyin. Örneğin, users tablosunda email sütununa index oluşturmak için: ALTER TABLE users ADD INDEX idx_email (email); Bu komut, tam tablo taramalarını önler. Composite index’ler için birden fazla sütunu birleştirin: ADD INDEX idx_user_date (user_id, created_at). Index’leri aşırı kullanmayın; yazma işlemlerini yavaşlatabilir. SHOW INDEX FROM tablo_adi ile mevcut indexleri listeleyin ve ANALYZE TABLE ile güncelleyin. Bu adımlar, büyük veri setlerinde %90’a varan hız artışı sağlar.

EXPLAIN ile Sorgu Analizi

Her sorguyu optimize etmeden önce EXPLAIN kullanın: EXPLAIN SELECT * FROM orders WHERE status=’active’; Çıktıda ‘type’ sütunu ALL ise tam tarama, REF veya INDEX ise iyidir. ‘rows’ değeri düşük olmalı. Key sütunu NULL ise index ekleyin. Slow query log’u etkinleştirin: slow_query_log=1 ve long_query_time=2 ekleyin. mysqldumpslow ile logları analiz edin. Bu yöntemle, karmaşık JOIN’leri sadeleştirerek CPU yükünü azaltın ve cache hit oranını artırın.

Sistem Monitöring ve Bakım Rutinleri

Performans Araçlarını Kullanma

Ubuntu’da pt-query-digest veya mysql tuner gibi araçlar yükleyin: sudo apt install percona-toolkit. Ardından pt-query-digest /var/log/mysql/mysql-slow.log ile yavaş sorguları belirleyin. MariaDB’nin SHOW STATUS LIKE ‘Innodb_buffer_pool%’; komutuyla buffer kullanımını izleyin. Eğer hit oranı %95’in altındaysa buffer’ı büyütün. top veya htop ile MariaDB süreçlerini takip edin; yüksek CPU ise thread_concurrency=CPU_core_sayisi*2 ayarlayın. Bu araçlar, proaktif optimizasyon için vazgeçilmezdir ve haftalık rutinlere entegre edin.

Veritabanı Bakımı ve Temizliği

Düzenli OPTIMIZE TABLE tablo_adi; ile fragmentasyonu giderin. Cron job ile otomatikleştirin: 0 2 * * 0 mysql -u root -p’parola’ -e “OPTIMIZE TABLE users, orders;”. Fragmentasyon %20’nin üzerindeyse disk alanı boşa harcanır. innodb_flush_log_at_trx_commit=2 ile WAL modunu gevşetin (güvenlik-k performans dengesi). Bu bakım rutinleri, uzun vadede depolama verimliliğini artırır ve kurtarma sürelerini kısaltır.

Sonuç olarak, Ubuntu’da MariaDB performans optimizasyonunu sistematik bir yaklaşımla uygulamak, işletmenizin veri işleme kapasitesini dönüştürür. Bu rehberdeki adımları test ortamında deneyin, yedek alın ve üretimde kademeli uygulayın. Düzenli monitöring ile ayarları ince ayarlayarak maksimum verim elde edin. Bu stratejilerle, ölçeklenebilir ve güvenilir bir veritabanı altyapısı kurabilirsiniz.

Kategori: Genel
Yazar: Meka
İçerik: 497 kelime
Okuma Süresi: 4 dakika
Zaman: Bugün
Yayım: 02-03-2026
Güncelleme: 02-03-2026