Kapasite Planlama ve Şişkinlik Denetimleri
Disk ve IOPS büyümesini öngörün, tablo ve INDEX şişkinliğini düzenli olarak denetleyin ve alanınız bitmeden yükseltmeleri planlayın.
Kapasite Planlama ve Şişkinlik Denetimleri, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.
Neleri Öngörmelisiniz
Veritabanınızı önümüzdeki 6–12 ay için boyutlandırmak üzere şunları öngörmeniz gerekir:
- Disk kullanımı (veriler + WAL + dizinler)
- IOPS talebi
- RAM çalışma kümesi
- Bağlantı sayısı
Disk Büyümesi
Son büyüme eğilimini izleyin:
SELECT pg_size_pretty(pg_database_size(current_database()));
SELECT pg_size_pretty(pg_total_relation_size(t.oid)) AS total,
relname
FROM pg_class t
WHERE relkind = 'r'
ORDER BY pg_total_relation_size(t.oid) DESC LIMIT 20;Tablo Başına Büyümeyi İzleme
Bir ölçüm günlükleme işi zamanlayın ve grafiğe dökün:
INSERT INTO size_history (ts, tablename, size_bytes)
SELECT NOW(), relname, pg_total_relation_size(oid)
FROM pg_class WHERE relkind = 'r';IOPS Tahmini
G/Ç okuması yoğun tablolar pg_stat_user_tables görünümünde listelenir:
SELECT relname, seq_tup_read, idx_tup_fetch,
seq_tup_read + idx_tup_fetch AS total_reads
FROM pg_stat_user_tables
ORDER BY total_reads DESC LIMIT 20;RAM Boyutlandırması
shared_buffers ≈ RAM'in %25'i. effective_cache_size ≈ %75 (ayrılan kaynak değil, planlayıcıya yönelik ipucu). Bağlantı başına work_mem × bağlantı sayısı, kullanılabilir RAM'i aşmamalıdır.
Şişkinlik Denetimi
En çok ölü satır oluşturanları bulun:
SELECT relname,
n_live_tup,
n_dead_tup,
round(n_dead_tup::numeric / NULLIF(n_live_tup, 0), 2) AS dead_ratio,
last_autovacuum
FROM pg_stat_user_tables
ORDER BY n_dead_tup DESC
LIMIT 20;Dizin Şişkinliği
pgstattuple veya yerleşik araçları kullanın:
CREATE EXTENSION pgstattuple;
SELECT relname,
pg_size_pretty(pg_relation_size(indexrelid)) AS size,
(pgstatindex(indexrelid::regclass)).leaf_fragmentation
FROM pg_stat_user_indexes
ORDER BY pg_relation_size(indexrelid) DESC LIMIT 20;Kullanılmayan Dizinler
Bunları bulun ve kaldırın — yazma işlemlerine maliyet getirirler:
SELECT schemaname, relname, indexrelname,
pg_size_pretty(pg_relation_size(indexrelid))
FROM pg_stat_user_indexes
WHERE idx_scan = 0
AND indexrelname NOT LIKE '%_pkey'
ORDER BY pg_relation_size(indexrelid) DESC;Bağlantı Denetimi
Kaç istemci bağlı, hangi durumdalar:
SELECT datname, usename, application_name, state, COUNT(*)
FROM pg_stat_activity
GROUP BY 1,2,3,4 ORDER BY 5 DESC;Uzun Süren İşlemler
Vakumlamanın aç kalmasının nedeni:
SELECT pid, state, xact_start, NOW() - xact_start AS xact_age, query
FROM pg_stat_activity
WHERE xact_start IS NOT NULL
ORDER BY xact_age DESC NULLS LAST LIMIT 20;WAL ve Arşivler
Arşiv depolamasını boyutlandırmak için WAL oluşturma hızını izleyin:
SELECT pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), '0/0')) AS total_wal_generated;Yük Devretmeyi Planlama
Replika diski birincil sunucununkiyle aynı olmalıdır. Replikanın yetişme hızının birincil sunucunun yazma hızına eşit veya daha yüksek olduğunu doğrulayın.
Özet
Kapasite planlaması, doğru ölçümleri grafik üzerinde izlemektir.
- Tablo başına boyut büyümesi
- Ölü satır oranı
- Kullanılmayan dizinler
- Vakumlamayı engelleyen uzun işlemler
- Bağlantı sayıları
Hızlı Kontrol
Vakumlama planlaması için en çok ölü satır oluşturanları bulmak üzere hangi görünümü sorgularsınız?
Sıkça Sorulan Sorular
“Kapasite Planlama ve Şişkinlik Denetimleri” dersi ücretsiz mi?
Evet — “Kapasite Planlama ve Şişkinlik Denetimleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.
“Kapasite Planlama ve Şişkinlik Denetimleri” dersinde ne öğreneceğim?
Disk ve IOPS büyümesini öngörün, tablo ve INDEX şişkinliğini düzenli olarak denetleyin ve alanınız bitmeden yükseltmeleri planlayın. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
SQL Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“Kapasite Planlama ve Şişkinlik Denetimleri” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- pg_stat_statements: En Önemli Sorgular
- Günlük Analizi için pgBadger
- Bağlantı Havuzlama: PgBouncer
- Kapasite Planlama ve Şişkinlik Denetimleri