Worasoft
Teklif Al →

Ana sayfa/Blog/Sunucu

Sunucu

Veritabanı Yavaşladığında: Önce Nereye Bakılır?

Sunucu büyütmek çoğu zaman yanlış çözümdür. Yavaşlığın kaynağı genellikle birkaç sorguda toplanır.

Worasoft ekibi12 Aralık 2025 · 3 dk okuma
technology, servers, server, servers — Veritabanı Yavaşladığında: Önce Nereye Bakılır?

Görsel: Pixabay · Pixabay Lisansı

Yanlış ilk hamle

Yavaşlık fark edildiğinde ilk düşünülen şey sunucuyu büyütmektir. Bu genellikle pahalı ve geçici bir çözümdür.

Çoğu vakada sorun kaynak yetersizliği değil, birkaç kötü sorgudur. Büyütme, sorunu gizler ve bir süre sonra tekrar eder.

Adım bir: yavaş sorguları bulun

Veritabanı sistemleri, uzun süren sorguları kaydeder. Bu kaydı açın ve en çok süre tüketen sorguları listeleyin.

Genellikle şaşırtıcı bir sonuç çıkar: toplam yükün büyük bölümü az sayıda sorgudan gelir.

Sıralamayı tek seferlik süreye göre değil, toplam etkiye göre yapın. Saniyede yüzlerce kez çalışan orta hızlı bir sorgu, nadiren çalışan yavaş bir sorgudan daha zararlıdır.

Adım iki: indeks eksikliği

En yaygın sebep budur. Filtreleme ve sıralama yapılan sütunlarda indeks yoksa, veritabanı tüm tabloyu taramak zorunda kalır.

Sorgu planını inceleyin; tam tablo taraması görüyorsanız indeks eksiktir.

Ancak her sütuna indeks eklemeyin. Her indeks yazma işlemini yavaşlatır ve yer kaplar. Gerçekten kullanılan sorgulara göre ekleyin.

Adım üç: çoklu sorgu problemi

Uygulama katmanında sık görülen bir hatadır: liste çekilir, sonra listedeki her kayıt için ayrı sorgu çalıştırılır.

Yüz kayıtlık bir sayfa yüz bir sorgu üretir. Her biri hızlı olsa bile toplam süre kabul edilemez hale gelir.

Çözüm, ilişkili veriyi tek sorguda birlikte çekmektir. Bu sorun, veritabanı büyüdükçe değil, veri çoğaldıkça ortaya çıkar; bu yüzden test ortamında fark edilmez.

Adım dört: gereksiz veri çekmek

Yalnız ihtiyaç duyulan sütunları seçin. Tüm sütunları çekmek, özellikle büyük metin alanları varsa ağ ve bellek israfıdır.

Sayfalama kullanın. Binlerce kaydı çekip uygulamada filtrelemek yaygın ve maliyetli bir hatadır.

Adım beş: kilitlenme ve uzun işlemler

Uzun süren yazma işlemleri, diğer sorguları bekletir.

Toplu güncellemeleri parçalara bölün. Tek seferde yüz bin satır güncellemek, sistemi dakikalarca kilitleyebilir.

Rapor sorgularını canlı veritabanı yerine kopya üzerinde çalıştırmak, yoğun sistemlerde belirgin rahatlama sağlar.

Önbellek

Sık okunan ve nadiren değişen veriler önbelleğe alınabilir.

Önbellek temizleme kuralı baştan tanımlanmalıdır. Veri değiştiğinde önbellek temizlenmezse, kullanıcılar eski veriyi görür ve bu daha büyük bir sorundur.

Veritabanını doğrudan değiştirdiğinizde uygulama önbelleği bundan haberdar olmaz; bu durumda uygulamanın yeniden başlatılması gerekir.

Ölçün ve doğrulayın

Her değişiklikten sonra ölçün. Tahmine dayalı optimizasyon, sorunu başka yere taşımaktan ibaret kalabilir.

Bağlantı havuzu ayarları

Veritabanı bağlantıları pahalı kaynaklardır ve havuzdan yönetilir.

Havuz boyutu çok küçükse istekler bekler, çok büyükse veritabanı gereksiz yük altında kalır.

Bağlantı sızıntıları sinsi bir sorundur: kapatılmayan bağlantılar zamanla havuzu tüketir ve uygulama aniden yanıt vermez hale gelir.

Aktif bağlantı sayısını izleyin; sürekli artan bir eğri, sızıntının işaretidir.

Bakım işleri

İstatistiklerin güncel tutulması, sorgu planlarının doğru seçilmesi için gereklidir.

İndekslerin parçalanması zamanla performansı düşürür; dönemsel bakım gerekir.

Eski kayıtların arşivlenmesi, sorgu hızını doğrudan etkiler. Sürekli büyüyen tablolar bir noktada her sorguyu yavaşlatır.

Bakım işlerini düşük trafikli saatlerde zamanlayın ve süresini izleyin; uzayan bakım işleri kesintiye dönüşebilir.

Benzer bir projeniz mi var?Birkaç soruyla anlatın, size dönelim.
Teklif Al →

Sık sorulanlar

İndeks eklemek her zaman iyi midir?

Hayır. Okuma sorgularını hızlandırır ancak her yazma işleminde güncellenmesi gerekir. Kullanılmayan indeksler yalnız maliyet üretir; düzenli olarak gözden geçirip kullanılmayanları kaldırın.

Yavaşlık aniden başladıysa sebebi ne olabilir?

Genellikle veri hacminin bir eşiği geçmesi veya yeni bir özelliğin getirdiği sorgu. Son dağıtımı ve veri büyümesini birlikte inceleyin; sorgu kayıtları çoğunlukla sebebi doğrudan gösterir.

Veritabanını ayrı sunucuya taşımalı mıyım?

Uygulama ve veritabanı aynı sunucuda kaynak için yarışıyorsa evet. Ancak ayırma ağ gecikmesi ekler; önce sorgu optimizasyonu yapılmadan alınan ayırma kararı genellikle beklenen faydayı vermez.

İlgili hizmetSunucu, Hosting & Bakım Hizmeti incele →

Diğer yazılar

network, server, system, infrastructure — Docker ile Yayına Almak: Neden Standart Hâline Geldi? Sunucu Docker ile Yayına Almak: Neden Standart Hâline Geldi? 3 dk okuma hacking, cyber, blackandwhite, crime — SSL Sertifikası: Ücretsiz Alternatif ve Otomatik Yenileme Sunucu SSL Sertifikası: Ücretsiz Alternatif ve Otomatik Yenileme 3 dk okuma backup, business, close-up, computer — Yedekleme: Test Edilmemiş Yedek, Yedek Değildir Sunucu Yedekleme: Test Edilmemiş Yedek, Yedek Değildir 3 dk okuma