log4net اتصالات قاعدة البيانات المفتوحة

StackOverflow https://stackoverflow.com/questions/240796

  •  04-07-2019
  •  | 
  •  

سؤال

وأنا باستخدام AdoNetAppender الكتابة إلى جدول قاعدة بيانات SQL Server 2005. لدي مجموعة bufferSize إلى 1 بحيث إدخالات مكتوبة فورا.

وتشعر بالقلق بلدي DBA أن log4net هو ترك اتصال قاعدة البيانات الخاصة به مفتوحة. لدينا ~ 50 وصلات إلى قاعدة بيانات اليوم ولكن فقط 22 إدخالات السجل. في العديد من الحالات هناك اتصالات متعددة من نفس العميل مع أوقات دخول مختلفة.

ويبدو لي أن تجمع الاتصال لا يعمل أو أن هناك موارد أنا لن يستغني في التعليمات البرمجية. كيف يمكنني استكشاف هذا؟

هل كانت مفيدة؟

المحلول

والتعريف SQL Server سيتم تظهر لك كل هذا. إنشاء التطبيق وحدة التحكم، تسجيل عدد قليل من البيانات، والتحقق من أن الاتصالات تفتح وتغلق.

وكملاحظة جانبية، أود أن أوصى لا تحديد حجم المخزن المؤقت ل1. للحصول على التطبيق من حجم كبير (دعونا ننظر في NHibernate) يمكن بسهولة تسجيل 100 أو أكثر من البيانات لعملية واحدة (اعتمادا على مستوى السجل ). وهذا يساوي 100 وصلات قاعدة بيانات منفصلة لكل طلب ويمكن أن يحقق بسهولة الخادم تجثو على ركبتيها.

وحجم المخزن مؤقت من 5 أو 10 سوف يعمل العجائب. من حصولك على خطر فقدان بعض الرسائل السجل، ولكن في معظم الحالات، سوف يكون في نهاية المطاف مسح (حفظ فقدان الطاقة أو فشل في الأجهزة).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top