Veritabanı Runbook'ları
"X olursa ne yap". Kriz anlarında panik yapmadan adım adım uygulanacak test edilmiş müdahale ve doğrulama prosedürleri.
- SSH / Sunucu root veya DBA erişimi
- İlgili config dosyalarına okuma/yazma yetkisi
- Yedekleme hedef dizinine yazma testi
İşletim Sistemi Limitleri (ulimits & vm.max_map_count)
Açık dosya tanımlayıcısı (nofile) en az 65535 olmalı ve agresif swap kullanımını engellemek için swappiness 1 veya 10 yapılmalıdır.
ulimit -n 65535
sysctl -w vm.max_map_count=262144
sysctl -w vm.swappiness=1Bağlantı Havuzlayıcı (Connection Pooler) Zorunluluğu
Uygulamaların doğrudan veritabanına 1000+ kontrolsüz bağlantı açması engellenmeli; PgBouncer, ProxySQL veya HikariCP max_connections limitine göre ayarlanmalıdır.
Otomatik Yedek & Doğrulama (Restore Drill)
Sadece yedek almak yetmez; yedekten boş bir ortama otomatik geri dönüş (test restore) testi tamamlanmış olmalıdır.
Yavaş Sorgu Günlüğü (Slow Query Logging)
Canlıya çıkmadan önce 250ms üzerindeki sorguların loglanması ve pg_stat_statements / performance_schema aktif edilmelidir.
# PostgreSQL:
log_min_duration_statement = 250ms
# MySQL:
slow_query_log = 1
long_query_time = 0.5Herhangi bir parametre uygulandıktan sonra veritabanı yanıt vermezse, yedeklenen `.conf.bak` dosyasını geri yükleyip servisi yeniden başlatın.