خوش آمديد!
17:23 سه شنبه 2 خرداد ماه ، 1391
تبلیغات راست
پکیج آموزش جامع دوره مهندسی شبکه مایکروسافت MCSE
خبر خوان

خبر خوان

دسته بندی مقالات
وب
  مقالات HTML
  مقالات PHP
  مقالات ASP.NET
  مقالات CSS
  مقالات XML
  مقالات JavaScript
  مقالات CMS
  مقالات Dreamweaver
  مقالات ColdFusion
  مقالات IIS
  مقالات Apache
  مقالات AJAX
  مقالات Flex
  مقالات AIR
  مقالات Expression Web
  مقالات SEO
  مقالات عمومی وب
برنامه نویسی
  مقالات C / C++
  مقالات C#
  مقالات VB.NET
  مقالات VB6
  مقالات دلفی
  مقالات VbScript
  مقالات اکشن اسکریپت
  مقالات Python
  مقالات سیلور لایت
  مقالات عمومی برنامه نویسی
سخت افزار
  مقالات CPU
  مقالات RAM
  مقالات دیسک سخت
  مقالات MainBoard
  مقالات کیبورد
  مقالات کارت گرافیک
  مقالات چاپگر
  مقالات عمومی سخت افزار
سیستم عامل
  مقالات ویندوز سون
  مقالات ویندوز ویستا
  مقالات ویندوز XP
  مقالات لینوکس
  مقالات سیستم عامل مک
  مقالات عمومی سیستم عامل
گرافیک دو بعدی
  مقالات فتوشاپ
  مقالات Illustrator
  مقالات Corel
  مقالات Painter
  مقالات QuarkXpress
  مقالات InDesign
  مقالات Fireworks
  مقالات Lightroom
  مقالات Bridge
  مقالات آکروبات
  مقالات فلش
  مقالات Expression Medial
  مقالات Expression Blend
  مقالات عمومی گرافیک دو بعدی
گرافیک سه بعدی و انیمیشن سازی
  مقالات تردی مکس
  مقالات مایا
  مقالات اتوکد
  مقالات عمومی گرافیک سه بعدی
میکس و مونتاژ
  مقالات After Effects
  مقالات پرمیر
  مقالات ادیوس
  مقالات SoundBooth
  مقالات Apple Reason
  مقالات Corel Video Studio
  مقالات Audition
  مقالات Pro Tools
  مقالات FLStudio
  مقالات SoundFordge
  مقالات عمومی ویرایش صوت و فیلم
پایگاه داده
  مقالات SQL Server
  مقالات اکسس
  مقالات MySQL
  مقالات اراکل
  مقالات عمومی پایگاه داده
شبکه
  مقالات اکسچنج سرور
  مقالات SharePoint Server
  مقالات ویندوز سرور 2003
  مقالات ویندوز سرور 2008
  مقالات ISA Server
  مقالات VMware
  مقالات MS Virtualization
  مقالات MCSE
  مقالات MCITP
  مقالات CCNA
  مقالات CCNP
  مقالات CCIE
  مقالات مایکروسافت System Center
  مقالات Wireless
  مقالات Wi-Fi
  مقالات WiMax
  مقالات Citrix
  مقالات DSL
  مقالات BizTalk
  مقالات Commerce Server
  مقالات Forefront
  مقالات Groove
  مقالات Communication Server
  مقالات Project Server
  مقالات Storage Server
  مقالات امنیت شبکه
  مقالات VoIP
  مقالات عمومی شبکه
آفیس و برنامه های تجاری
  مقالات Word
  مقالات Excel
  مقالات Access
  مقالات PowerPoint
  مقالات Visio
  مقالات OneNote
  مقالات Publisher
  مقالات Outlook
  مقالات Amalga
  مقالات Dynamics AX
  مقالات Dynamics CRM
  مقالات Dynamics GP
  مقالات Dynamics NAV
  مقالات Dynamics POS
  مقالات Dynamics RMS
  مقالات Dynamics SL
  مقالات عمومی آفیس و برنامه های تجاری

مروري بر تاريخچه محدوديت حافظه مصرفي برنامه هاي ASP.NET در IIS

 مروري بر تاريخچه محدوديت حافظه مصرفي برنامه هاي ASP.NET در IIS

زمانيكه اولين نگارش ASP.NET‌ حدود 10 سال قبل منتشر شد،‌ تنها سيستم عاملي كه از آن پشتيباني مي‌كرد، ويندوز سرور 2000 بود، تنها پروسه‌ي اجرايي آن aspnet_wp نام داشت و تنها معماري پشتيباني شده هم X86 بود. به پروسه‌ي aspnet_wp محدوديت مصرف حافظه‌اي اعمال شده بود كه در حين آغاز آن بر اساس مقدار قابل تغيير processModel memoryLimit محاسبه و اعمال مي‌شد (تعريف شده در فايل ماشين كانفيگ).



اين عدد به صورت درصدي از ظرفيت RAM فيزيكي سيستم، قابل تعريف و به صورت پيش فرض به 60 درصد تنظيم شده بود. به اين ترتيب اين پروسه مجاز نبود تا تمام حافظه‌ي فيزيكي مهيا را مصرف كند و در صورت وجود نشتي حافظه‌اي در برنامه‌اي خاص، اين پروسه امكان بازيابي مجدد حافظه را پيدا مي‌كرد (recycling). همچنين يك مورد ديگر را هم بايد در نظر داشت و آن هم وجود قابليتي است به نام ASP.NET Cache است كه امكان ذخيره سازي مقادير اشياء را در حافظه‌ي مصرفي اين پروسه مهيا مي‌سازد. هر زمان كه ميزان اين حافظه‌ي مصرفي به حد نزديكي از محدوديت تعريف شده برسد، اين پروسه به صورت خودكار شروع به حذف آن‌ها خواهد كرد.
محدوديت 60 درصدي تعريف شده، براي سيستم‌هايي با ميزان RAM كم بسيار مفيد بود اما در سيستم‌هايي با ميزان RAM بيشتر، مثلا 4 گيگ به 2.4GB حافظه مهيا (60 درصد حافظه فيزيكي سيستم) محدود مي‌شد و همچنين بايد در نظر داشت كه ميزان user mode virtual address space مهيا نيز تنها 2 گيگابايت بود. بنابراين هيچگاه استفاده مؤثري از تمام ظرفيت RAM مهيا صورت نمي‌گرفت و گاها مشاهده مي‌شد كه يك برنامه تنها با مصرف 1.5GB RAM مي‌توانست پيغام OutOfMemoryException را صادر كند. در اين حالت مطابق بررسي‌هاي صورت گرفته مشخص شد كه اگر مقدار processModel memoryLimit به حدود 800 مگابايت تنظيم شود، بهترين عملكرد را براي سيستم‌هاي مختلف مي‌توان مشاهده كرد.

با ارائه‌ي ويندوز سرور 2003 و همچنين ارائه‌ي نسخه‌ي 1.1 دات نت فريم ورك و ASP.NET ، اين وضعيت تغيير كرد. پروسه‌ي جديد در اينجا w3wp نام دارد و اين پروسه تعاريف مرتبط با محدوديت حافظه‌ي خود را از تنظيمات IIS دريافت مي‌كند (قسمت Maximum Used Memory در برگه‌ي Recycling مربوط به خواص Application Pool مرتبط). متاسفانه اين عدد به صورت پيش فرض محدوديتي ندارد و به ظاهر برنامه مجاز است تا حد امكان از حافظه‌ي مهيا استفاده كند. به همين جهت يكي از مواردي را كه بايد در نظر داشت، مقدار دهي Maximum Used Memory ذكر شده است. خصوصا اينكه در نگارش 1.1 ، تنظيمات ميزان مصرف RAM مرتبط با ASP.NET Cache نيز با برنامه يكي است.

در نگارش 2.0 دات نت فريم ورك، تنظيمات مرتبط با ASP.NET cache از تنظيمات ميزان RAM مصرفي يك برنامه‌ي ASP.NET جدا شد و اين مورد توسط قسمت cache privateBytesLimit قابل تنظيم و مديريت است (در فايل IIS Metabase و همچنين فايل web.config برنامه).

نكته!
اگر process memory limit و همچنين cache memory limit را تنظيم نكنيد، باز به همان عدد 60 درصد سابق بازخواهيم گشت و اين مورد به صورت خودكار توسط IIS محاسبه و اعمال مي‌شود. البته محدوديت ذكر شده براي پروسه‌هاي 64 بيتي در اين حالت بسيار بهتر خواهد بود. اگر هر دوي اين‌ها را تنظيم كنيد، عدد حداقل بكارگرفته شده، مبناي كار خواهد بود و اگر تنها يكي را تنظيم كنيد ، اين عدد به هر دو حالت اعمال مي‌گردد. براي بررسي بهتر مي‌توان به مقدار Cache.EffectivePrivateBytesLimit و Cache.EffectivePercentagePhysicalMemoryLimit مراجعه كرد.

و ... اكنون بهتر مي‌توانيد به اين سؤال پاسخ دهيد كه «سرور ما بيشتر از 4 گيگ رم دارد و برنامه‌ي ASP.NET من الان فقط 850 مگ رم مصرف كرده (كه البته اين هم نشاني از عدم dispose صحيح منابع است يا عدم تعيين تقدم و تاخر و زمان منقضي شدن، حين تعريف اشياء كش)، اما پيغام out of memory exception را دريافت مي‌كنم. چرا؟!»


بنابراين ايجاد يك
Application pool جديد به ازاي هر برنامه‌ي ASP.NET امري است بسيار مهم زيرا:
- به اين ترتيب هر برنامه‌ي ASP.NET در پروسه‌اي ايزوله از پروسه‌ي ديگر اجرا خواهد شد (اين مساله از لحاظ امنيتي هم بسيار مهم است). در اينجا هر برنامه، از پروسه‌ي w3wp.exe مجزاي خاص خود استفاده خواهد كرد (شبيه به مرورگرهايي كه هر tab را در يك پروسه جديد اجرا مي‌كنند).
- اگر پروسه‌اي به حد بالاي مصرف حافظه‌ي خود رسيد با تنظيمات انجام شده در قسمت recycling مرتبط با Application pool اختصاصي آن، به صورت خودكار كار بازيابي حافظه صورت مي‌گيرد و اين امر بر روي ساير برنامه‌ها تاثير نخواهد داشت (كاربران ساير برنامه‌ها مدام شكايت نمي‌كنند كه سشن‌ها پريد. كش خالي شد. زيرا در حالت وجود application pool اختصاصي به ازاي هر برنامه، مديريت حافظه برنامه‌ها از هم ايزوله خواهند بود)
- كرش صورت گرفته در يك برنامه به دليل عدم مديريت خطاها، بر روي ساير برنامه‌ها تاثير منفي نخواهد گذاشت. (زمانيكه ASP.NET worker process به دليل استثنايي مديريت نشده خاتمه يابد بلافاصله و به صورت خودكار مجددا «وهله‌ي ديگري» از آن شروع به كار خواهد كرد؛ يعني تمام سشن‌هاي قبلي از بين خواهند رفت؛ كه در صورت ايزوله سازي ذكر شده، ساير برنامه‌ها در امان خواهند ماند؛ چون در پروسه ايزوله‌ي خود مشغول به كار هستند)
- با وجود application pool اختصاصي به ازاي هر برنامه، مي‌توان براي سايت‌هاي كم ترافيك و پرترافيك، زمان‌هاي recycling متفاوتي را اعمال كرد. به اين ترتيب مديريت حافظه‌ي بهتري قابل پياده سازي مي‌باشد. همچنين در اين حالت مي‌توان مشخص كرد كدام سايت از تعداد worker process بيشتر يا كمتري استفاده كند.
- كاربري كه پروسه‌ي ASP.NET تحت آن اجرا مي‌شود نيز همينجا تعريف مي‌گردد. بنابراين به اين ترتيب مي‌توان به برنامه‌اي دسترسي بيشتر و يا كمتر داد، بدون تاثير گذاري بر روي ساير برنامه‌هاي موجود.

به نقل از dotnettips.info



ارسال شده در مورخه : شنبه، 8 مرداد ماه ، 1390   چاپ مطلب

آموزش تردی مکس


مرتبط با موضوع :

 آموزش ASP.NET MVC - بخش سوم  [يكشنبه، 27 فروردين ماه ، 1391]
 آموزش ASP.NET MVC - بخش دوم  [يكشنبه، 27 فروردين ماه ، 1391]
 آموزش ASP.NET MVC - بخش اول  [يكشنبه، 27 فروردين ماه ، 1391]
 مسیریابی آدرس در ASP.NET 4  [دوشنبه، 22 فروردين ماه ، 1390]
 اطلاعات جدیدی از نسخه بعدی ASP.NET Webforms  [يكشنبه، 21 فروردين ماه ، 1390]
 انتخاب يک host برای يک سايت ASP.NET  [پنجشنبه، 31 تير ماه ، 1389]
 Asp.Net & JSP  [چهارشنبه، 30 تير ماه ، 1389]
 ASP چیست ؟  [دوشنبه، 28 تير ماه ، 1389]


تبلیغات چپ
پکیج Windows Server 2008 MCITP Enterprise Administ
آخرین مقالات
· ۱۴ تغییراتی احتمالی که در iPhone 5 خواهید دید!
· روشهایی برای افزایش عمر باتری موبایل
· p1000 پرفروش ترین تبلت سامسونگ
· خالی کردن فضای هارد دیسک
· ۷ دلیل برای خرید مطمئن سامسونگ Galaxy Note
· معرفی لایف بوک ها ویژگی های مربوط به آنها
· معرفی ۱۰ فناوری برتر ماه گذشته در عرصه آی تی
· معرفی دلایلی برای خرید گوشی با قابلیت ویندوز فون
· SCX-4729FD چاپگر چندکاره سامسونگ
· تعریف سیستم عامل اندروید و مهمترین ویژگی های آن
· لپ تاپ های Samsung Series 7 Game 3D
· پرطرفدارترین موبایل های هوشمند تا بهار ۲۰۱۲
· Sony Unveila Xperia Sola و صفحه نمایش شناور
· کنترل دستگاه اندرویدی توسط دسکتاپ
· 10 تبلت برتر بهار سال 2012
· Optimus 3D Max دومین گوشی سه بعدی ال جی به عنوان محصولی بی همتا
· G6-1160EE لپ تاپ باقابلیت و پرمخاطب HP
· راه های افزایش امنیت در اینترنت
· آموزش مراحل پاک کردن آرشیو یاهو مسنجر
· مانیتورهایی مخصوص بازی های ویدئویی و گیمرها
· نکات مهم در مورد سرچ گوگل
· معرفی بهترین تبلت های بازار از نظر کیفیت نمایشگر
· معرفی رایانه ها و تبلت های سازگار با ویندوز ۸
· ویژگی های Galaxy note 10.1 شرکت سامسونگ
· مهمترین دلایل خرابی سریع لپ تاپ ها

[ موارد بیشتر در بخش اخبار و تازه ها ]
پربیننده ترین مقالات
· استاندارد های ISO/IEC 17799 و BS7799-2
· توصیه های مهم امنیتی در مورد لینوکس و یونیکس
· گرما در cpuها
· معماری client/Server در اینترنت
· آشنایی با سیستم فایل GNU/Linux
· یک MAC BOOK PRO جدید در بازار ایران
· معرفی دو مدل لپ تاپ با قابلیت سونی سری F
· F137HG/B، لپ تاپ سایز بزرگ سونی در بازار داخلی
· اندر احوالات کرک و کپی رایت
· EE31FX/BJ، لپ تاپ ارزان قیمت سونی در بازار داخلی
· معرفی z216 FX/L از لپ تاپ های سونی
· مدل MD313LL/A ، Macbook ارزان قیمت در بازار داخل
· تاریخچه کامپیوتر
· مشاهده آنلاین سوابق بیمه شدگان
· چگونگی اختصاص دادن یک آدرس IP استاتیک به یک رایانه در شبکه در ویندوز Xp ، Vista یا Seven
· آشنایی با روتر و سوئیچ(router and switch)
· الگوریتم های مرتب سازی آرایه ها
· تاریخچه ی پیدایش زبان های برنامه نویسی شی گرا
· GPS چیست؟
· به روز رسانی ویندوز 7 با نرم افزار Windows Update
· پایگاه داده های سیار Mobile database
· بازیابی رمز عبور در ویندوز 7
· معماری سرویس گرا Service Oriented Architecture چیست؟
· انتقال اطلاعات با Replication در SQL Server
· آموزش نرم افزار Virtual Box

[ موارد بیشتر در بخش اخبار و تازه ها ]
مقالات تصادفی
· کینگ مکس سریع ترین حافظه های فاقد سینک خنک کننده دنیا را تولید کرد!
· 5 لپ تاپ برجسته MSI
· آموزش رجیستری
· بررسی کارت گرافیکی BIOSTAR GTS450
· تاکید یک مطلب
· ترفندهای ساده و عملی برای کاهش Spam
· با WorldWide Telescopeبه فضا بروید
· مردی که بعد از 10 سال دختر خود را توسط توییتر پیدا کرد!
· چگونه یک متخصص امنیتی شوم؟
· وب ۲؛ راه نوینی برای شکوفایی شرکتها
· آغاز تجارت اینترنتی بدون داشتن وب سایت
· حذف پنجره Logon ورود به ویندوز
· آگهی های گوگل متحول می شود
· راه حل جذاب یاهو برای یافتن نرم افزارهای اندروید و iOS
· آشنایی با امكانات جی ميل
· راهکار هایی برای کاهش اخلال درسرویس دهنده های اینترنتی
· مروری بر برنامه چلیپا
· به دست آوردن مشخصات سیستم
· مقایسه دو تبلت Nook و kindle Fire
· شرايط لازم برای دريافت مدرك CCNA
· لینوکس چگونه متولد شد؟
· سیستم پیشگیری از نفوذ در شبکه
· پشتیبانی از آفیس ایکس پی سه ماه دیگر به اتمام میرسد
· نکاتی درباره بازی های Linux
· ال جی تلفن Optimus LTE را با صفحه نمایش IPS و سرعت بالای انتقال اطلاعات معرفی کرد

[ موارد بیشتر در بخش اخبار و تازه ها ]
امتیاز دهی به مطلب
امتیاز متوسط : 0
تعداد آراء: 0

لطفا رای مورد نظرتان را در مورد این مطلب ارائه نمائید :

عالی
خیلی خوب
خوب
متوسط
بد

آموزش ویرایش ویدیو با افتر افکت