clear connection pool

Kurumsal iş uygulamalarında connection pooling kullanmak gayet faydalıdır. Ancak bunu yaparken dikkat edilmesi gereken noktalarda vardır. Örneğin uygulama sunucusu üzerindeki poolda yer alan connectionlardan bir tanesi veritabanı sunucusu üzerinde geçersiz bir duruma geçirilmiş olabilir (herhangi bir sebep ile connection kill etmek gibi). Bu durumda pooldan o connection çekildikçe hata alınacaktır.

Kullandığınız veritabanı sunucusu ve istemci yazılımı (ado.net providerları) bunun için çözümler sağlıyor olabilir. Örneğin odp.net Validate Connection connection string elemanı ile connection kullanılmadan önce connectionın valida state de olduğunu kontrol edebilir. Bu performans açısından tercih edilmeyebilir zira her sorgu çalışmadan önce execution maliyeti olmayan da olsa bir sorgu çalışır, bu sorgu en azından uygulama sunucusu ile database sunucusu arasında transfer edilmesi ve işlenmesi gibi küçükte olsa maliyetler oluşturur ve büyük bir sistem için gereksiz bir performans unsuru olur. Bunun yerine hatalı durumları (exception türü yada koduna göre) handle edip poolu kod içinden temizlemek en uygun çözüm olacaktır.

Bunun için XXXConnection.ClearPool methodu kullanılmalıdır.



İlişkili yazılar

Yorumlar kapalı.