İçeriğe geç
NarDBv0.2.0-dev

Havuz ayarları

Bağlantı sayısı, eşzamanlı sorgu sınırı ve sorgu zaman aşımı.

Havuz ayarları veritabanının kendisinde saklanır. Dosyayı kim açarsa açsın aynı sınırlar geçerlidir.

AyarVarsayılanUygulayan
max_connections64Sunucu (nardbd): açık oturum sayısı
max_concurrent_queries16Motor: fazla sorgular boş yer açılmasını bekler
query_timeout30 saniye (0 = sınırsız)Motor: süre dolunca sorgu iptal edilir

Gömülü kullanımda veritabanını yalnızca bir süreç açabilir, yani tek bir bağlantı vardır; max_connections yalnızca sunucuda uygulanır.

Değiştirmek#

Shell'de:

Terminal
>> set_pool -c 200 -q 8 -t 15
>> set_pool                    # değerleri dolu bir dialog açar
>> show_pool

Database → Pool Settings... ve File → Database Settings... aynı dialogu açar. Go API'sinde:

Go
err := db.SetPool(nardb.Pool{MaxConnections: 200, MaxConcurrentQueries: 8, QueryTimeoutSeconds: 15})

Yeni sorgu sınırı hemen geçerli olur. Bekleyen sorgular yeni sınıra göre uyanır.

Sınırlar#

AyarAralık
max_connections1 – 10000
max_concurrent_queries1 – 10000
query_timeout0 – 86400 saniye

Zaman aşımı, sorgunun boş yer beklediği süreyi de kapsar. Yoğun bir anda bekleyen bir sorgu süresi dolunca context deadline exceeded ile döner.