dataiotech Labs
dbaguidedbaguideDBAdataxtoolsdataopsphere
ConnectionArchitecture & Connectivity

Client Connection (İstemci Ağ / Taşıma Soketi)

İstemci uygulaması ile veritabanı sunucusu arasında TCP/IP el sıkışması veya Unix domain soketi (AF_UNIX) ve isteğe bağlı TLS anlaşmasıyla açılan fiziksel iletişim kanalıdır.

Derin Mimari İncelemesi

Bağlantı (connection), oturumdan (session) farklı bir taşıma katmanıdır. Bir bağlantı açıldığında işletim sistemi seviyesinde dosya tanıtıcısı (file descriptor) ve TCP arabellekleri (tcp_rmem, tcp_wmem) veya yerel soket IPC arabellekleri tahsis edilir.

PostgreSQL gibi process-per-connection mimarilerinde her istemci bağlantısı Postmaster tarafından ayrı bir işletim sistemi işçi sürecine (fork()) dönüştürülür. Bağlantı havuzlayıcılar (PgBouncer, HikariCP), bu fiziksel bağlantı kurma maliyetini ortadan kaldırmak için soketleri açık tutarak yeniden kullandırır.

İPUCU
Mimari İnceleme: Bağlantı yaşam döngüsü, TCP/TLS el sıkışması ve kapasite sınırları hakkında kapsamlı mimari analiz 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 count(*) AS total_server_backends FROM pg_stat_activity WHERE backend_type = 'client backend'; -- Not: Bu metrik sunucudaki backend proseslerini sayar; PgBouncer önündeki istemci soketlerini değil.
MySQL
SHOW STATUS LIKE 'Threads_connected'; -- mysqld'ye bağlı istemci soket iş parçacığı sayısı