dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
Home/Terimler Sözlüğü/Backend Process
Backend ProcessArchitecture & Memory

PostgreSQL Backend Process (Sunucu İşlemi / PID)

Postmaster tarafından her istemci bağlantısı için fork() edilen; sorguları ayrıştıran, planlayan, yürüten ve paylaşılan bellek ile senkronize çalışan bağımsız işletim sistemi sürecidir.

Derin Mimari İncelemesi

PostgreSQL çok iş parçacıklı (multi-threaded) değil, her bağlantıya bir süreç (process-per-connection) mimarisiyle çalışır. Her backend süreci kendi özel sanal bellek alanına (relcache, catcache, work_mem) sahiptir ve paylaşılan bellek (shared_buffers, kilit tabloları) üzerinden diğer backend'lerle haberleşir.

Bağlantıların boşta (idle) kalması dahi bellek ayak izi tüketir. Özellikle idle in transaction durumundaki backend'ler, eski transaction snapshot'larını açık tutarak tablolarda autovacuum'un ölü satırları temizlemesini engeller ve tablo şişmesine (bloat) yol açar. Yüksek eşzamanlı aktif transaction'lar ise ProcArrayLock önbellek satırlarında ve CPU scheduler üzerinde çekişme yaratır.

İPUCU
Mimari İnceleme: Backend süreçlerinin bellek maliyeti ve ProcArrayLock dinamikleri için inceleyin: PostgreSQL Bağlantı Yönetimi: Bağlantı Yaşam Döngüsü, Kapasite ve Havuzlama.

Üretim Gözlem ve Tanı Sorguları

PostgreSQL
SELECT pid, backend_type, backend_start, state, query FROM pg_stat_activity WHERE backend_type = 'client backend';