PDA

View Full Version : سوال: مشکل حافظه اشغالی در سرور



nevin2007
سه شنبه 07 خرداد 1387, 20:08 عصر
سلام
من یک سایت طراحی کردم که کارش رزرو اتاق برای هتل است و از 9 ماه پیش در حال کاره اما سه روزه که مداوم با پیام service unavailable مواجه میشه بعد از تماس با خدمات دهنده سرور اعلام شد که سایت من حافظه زیادی از سیستم رو اشغال می کنه و هر بار اجرای آن 55MB حافظه اشغال می کنه که خیلی غیر معقوله :متعجب:در حالیکه قبلا مشکلی نداشته سایت با asp.net 1.1 طراحی شده و حتی تعداد صفحات asp اون رو کاهش دادم و حجم رو از 136KB به 116KB رسوندم ولی مشکل من حل نشد آیا کسی تا به حال با این مشکل برخورد کرده و آیا کسی میدونه دلیل این اتفاق ناگهانی چیه آیا باگی در asp وجود داره که باعث این موضوع میشه:متفکر:

KavoshGar_ir
سه شنبه 07 خرداد 1387, 20:41 عصر
سلام
من یک سایت طراحی کردم که کارش رزرو اتاق برای هتل است و از 9 ماه پیش در حال کاره اما سه روزه که مداوم با پیام service unavailable مواجه میشه بعد از تماس با خدمات دهنده سرور اعلام شد که سایت من حافظه زیادی از سیستم رو اشغال می کنه و هر بار اجرای آن 55MB حافظه اشغال می کنه که خیلی غیر معقوله :متعجب:در حالیکه قبلا مشکلی نداشته سایت با asp.net 1.1 طراحی شده و حتی تعداد صفحات asp اون رو کاهش دادم و حجم رو از 136KB به 116KB رسوندم ولی مشکل من حل نشد آیا کسی تا به حال با این مشکل برخورد کرده و آیا کسی میدونه دلیل این اتفاق ناگهانی چیه آیا باگی در asp وجود داره که باعث این موضوع میشه:متفکر:
چیزی شبیه به این سوال را من در این تاپیک مطرح کردم ( آرایه بر روی سرعت سرور تاثیر گذار است؟ (http://barnamenevis.org/forum/showthread.php?t=107577) ) اگر به نتیجه برسد احتمالا شما هم به جواب می رسید.

اما در مورد این مشکل!
شما در پروژه تان مدیریت خطا انجام داده اید؟ try catch ها شاید راه گوشای شما باشند!

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

همچنین Session از حافظه سرور استفاده می کند که در طولانی مدت ممکن است روی کارای سرور تاثیر منفی بگذارد ... ( نظری دیگر )

nevin2007
چهارشنبه 08 خرداد 1387, 16:20 عصر
شما در پروژه تان مدیریت خطا انجام داده اید؟ try catch ها شاید راه گوشای شما باشند!

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

با سلام
مشکل من اینه که اصلا سایت کرش نمیشه بلکه همانطور که گفتم با پیغام service unavailabl مواجه میشه. اگه شما با این مشکل برخورد کرده باشید میدانید که در این حالت هیچکدام از اسکریپت های شما کار نمی کند و حتی عملیات مدیریت خطای موجود در web.config نیز قطع می شود
متن ارسالی توسط شرکت خدمات دهنده سرور به این صورت است :
vaghti ma application pool (.net) ra rooye site shoma gheire faal mikonim memory azad mishavad, va bemahze faal kardan 30 ta 40MB az memory mojadad eshghal migardad, va masrafe CPU niz be %20 ta %25 miresad ke dobare kahesh miabad
در ایمیل دیگری تایید می کند که این عملیات به محض استارت سایت و در زمان کمتر از 2 ثانیه انجام می گیرد و به ویزیتور ارتباطی ندارد
اگه دوستان نرم افزاری رو می شناسن که بشه با اون وضعیت cpu و memory یک dll رو اندازه گرفت لطفا معرفی کنند

babila
دوشنبه 13 خرداد 1387, 13:07 عصر
اگر ورژن IIS شما 6 است از Application Pool استفاده کن مشکلت حل میشه

anubis_ir
دوشنبه 13 خرداد 1387, 14:09 عصر
تمام قسمت‌هايي از برنامه رو كه با ديتابيس سر و كار داره با استفاده از using پوشش دهيد.
به اين صورت هم مصرف حافظه كنترل مي‌شود و هم سرعت اس كيوال سرور افت نخواهد كرد و هم هنگام رخدادن exception ها كار آزاد سازي منابع حتما انجام مي‌شود (اين موردي است كه عموم برنامه نويس‌ها فراموش مي‌كنند).
http://msdn.microsoft.com/en-us/library/yh598w02(VS.80).aspx