PDA

View Full Version : سوال: Appliction Poolبه چه معناست و در دانت چطوری ....



khorsandreza
شنبه 27 شهریور 1389, 17:22 عصر
سلام:
این سوال را در چندپست قبلی نوع دیگر سوال کرده بودم ولی با پیشرفت مشکل مجبور شدم دو چست قبل را پاک کنم و صورت مسئله جور دیگر مطرح کنم

من یک برنامه دارم که در چند چند ( سایت) مختلف نصب شده و کار می کندحالا جدید این را بر روی یک سرور از شرکت روند تازه نصب کردم بعد از چند بار رفرش کردن سایت خطا زیر را نشان میدهد ومسئولان سایت توپ را در زمین ما قرار داده اند و میگویند مشکل از کدنویس برنامه هست ولی من دقیقا هنوز متوجه نمیشوم این خطا از کجا سرچشمه میگیرد

Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

milade
شنبه 27 شهریور 1389, 18:16 عصر
سلام
ببين app pool يه محيط هستش كه برنامه ها روي اون اجرا ميشن .
سايت شما روي سرور ، asp.net به عنوان يه برنامه باهاش برخورد ميكنه ...

اين خطا هم دو تا دليل داره .
يكي اينكه اون قدر روي app pool ي كه سايت شما در حال اجرا روي اونه سايت هست كه ممكنه مشكلي كه توضيح ميدم رو ايجاد كرده باشه
دوم سايت شما خود اين مشكل رو ايجاد كرده باشه !

خب مشكل چيه ؟!
روي هر app pool تعدادي كانكشن همزامن ميتونند فعال باشن و اگه بيشتر بشه خطا فوق رو ميده .

در مورد اول كه توضيح دادم شما ميتونيد به پشتيباني هاست بگيد بهتون يه app pool الخصاص بده .چنون ممكنه ديگر سايتها در باز و بسته كردن كانكشن هاشون دقت نكرده باشند و كانكش باز زياد باشه ...

حالا اگه رفتيد روي app pool جديد و همين خطا رو داد اون وقت مشكل از سايت شماست !
خب چك كنيد ببينيد هر اتصالي به ديتابيس زديد بسته شده و ... !

تعداد كانكشن ها و يوزرهاي فعال در اين خطاها خيلي مهمه

khorsandreza
شنبه 27 شهریور 1389, 21:13 عصر
ممنون از راهنمائی :
مشکل ظاهرا حل شده من دریک قسمت که کار Select داشتم یادم رفته بود بعد از اجرا ببندم کانکشن را و چند بار که اجرا میشد خطا میداد

persian_bigboy
شنبه 27 شهریور 1389, 21:58 عصر
سلام دوست من زمانی این خطا رو میبینی که شما از SQL DataReaderاستفاده کرده باشی و در انتها از Dr.Close استفاده نکرده باشی . چون منابع سیستم که برای شما تعریف شده کم هستش اینجوری میشه . تمام .

alonemm
سه شنبه 14 دی 1389, 17:52 عصر
شما با تعيريف كلاس هايي كه براي اعمليات پايگاه داده شما هست ميتونيد از يك كلاس كه كانكشن شما هست ارث ببريد و از كانكشن هاي قبل استفاده كنيد مثل Using ها و چك كنيد اگه كانكشن باز نبود بازش كنيد و در انتهاي هر عمليات اون رو ببنديد و شي هايي كه به عنوان منبع داده هست هم به حافضه خالي برگردونيد.

ParsaNM
دوشنبه 07 شهریور 1390, 13:05 عصر
Application pool رو چطوري بايد تعريف کنيم؟

reza344
سه شنبه 08 شهریور 1390, 19:37 عصر
وبلاگ استاد وحید نصیری:


مروري بر تاريخچه محدوديت حافظه مصرفي برنامه‌هاي ASP.NET درIIS (http://www.dotnettips.info/2011/07/aspnet-iis.html)