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.
| Ayar | Varsayılan | Uygulayan |
|---|---|---|
max_connections | 64 | Sunucu (nardbd): açık oturum sayısı |
max_concurrent_queries | 16 | Motor: fazla sorgular boş yer açılmasını bekler |
query_timeout | 30 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:
>> set_pool -c 200 -q 8 -t 15
>> set_pool # değerleri dolu bir dialog açar
>> show_poolDatabase → Pool Settings... ve File → Database Settings... aynı dialogu açar. Go API'sinde:
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#
| Ayar | Aralık |
|---|---|
max_connections | 1 – 10000 |
max_concurrent_queries | 1 – 10000 |
query_timeout | 0 – 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.