راهکارهای موثر در ASP.Net > راهکار 6-1 : بالا بردن کارایی وب سایت با ذخیره خروجی
صفحه در حافظه
مقدمه :
میزان کارایی یک وب سایت یکی از مهمترین شاخص ها و ویژگی های آن است . با کاهش حجم
عملیات پردازش سرور سایت خودتان ، باعث می شوید تا سرور بتواند درخواست های بیشتری
را در زمان کمتری اجرا کرده ، پردازش های موازی بیشتری را انجام داده و حجم اطلاعات
ارسالی و دریافتی بین سرور و کامپیوتر کاربر را کاهش دهید .
یکی از راه های موثر در افزایش کارایی وب سایت، ذخیره کردن خروجی صفحات Asp.Net در
حافظه ، برای کاهش حجم عملیات سرور است . در این حالت سرور برای بازگرداندن مجدد صفحه
، آن را از حافظه خوانده و مجددا اجرا نمی کند .
بصورت نرمال ، وقتی مرورگر صفحه ای را درخواست می کند ، سرور Asp.Net نسخه ای
از آن ساخته و کدهای موجود در آن را اجرا میکند . همچنین چنانچه لازم باشد اطلاعات
مورد نیاز را از پایگاه داده دریافت کرده و به صورت دینامیکی صفحه را کامپایل می کند
. سپس خروجی حاصل را به مرورگر ارسال می کند .
ذخیره یک نسخه اجرا شده از صفحه در حافظه ، باعث می شود تا سرور به جای طی تمام مراحل
فوق برای اجرای مجدد صفحه ، خروجی ذخیره شده را به مرورگر بفرستد . این کار باعث کاهش
حجم کار سرور ، بهبود کارایی سایت و کاهش حجم اطلاعات ارسالی و دریافت می شود .
در این راهکار موارد زیر آموزش داده شده است :
- ذخیره سازی صفحه در حافظه با استفاده از یک ( Page Directive ) ، باعث ذخیره کل صفحه
در حافظه بدون توجه به نوع مرورگر و اطلاعات آن می شود .
- استفاده از پروفایل ( Application_Level Cashe ) . بوسیله این قابلیت می توانید
نحوه ذخیره کردن صفحات در حافظه را برای کل یک پروژه تعیین نمایید . در این حالت می
توانید با یک کد عملکرد کل پروژه را تعیین کنید . ( به جای تعیین برای هر صفحه بصورت
جدا ) .
- ذخیره سازی صفحه بر حسب پارامترهای ارسالی از صفحه .
برای حمایت از این پروژه ، کتاب
راهکارهای موثر در ASP.Net را دانلود نمایید ...
پیش نیازها :
برای اجرای این راهکار نیاز دارید تا برنامه های زیر بر روی سایت شما نصب شده باشد
:
- Visual Studio.
- Microsoft .NET Framework version 2.0 .
مرحله اول - طراحی یک سایت ASP.Net :
در مرحله اول از راهکار بایستی یک سایت ASP.Net را برای اجرای پروژه خود ایجاد نمایید
. فرض بر این است که سایت را قبلا ایجاد کرده و یا با نحوه اجرای آن آشنایی دارید ،
در غیر اینصورت به راهکار شماره 1-1 : نحوه ایجاد یک وب سایت ASP.Net در ویژوال استودیو
بروید .
مرحله دوم - تنظیم ذخیره کردن یک صفحه در حافظه :
در این بخش نحوه تنظیم ذخیره شدن یک صفحه تکی در حافظه را شرح خواهیم داد .
برای این منظور ابتدا یک کنترل Lable بر روی صفحه خود قرار داده و صفحه را برای ذخیره
شدن در حافظه تنظیم نمایید .
کنترل Lable را به گونه ای تنظیم نمایید تا در هر بار رفرش شدن صفحه ، زمان ساخت و
اجرای صفحه را نمایش دهد . با مشاهده این زمان در هر بار اجرای صفحه ، متوجه خواهید
شد آیا صفحه جدیدا اجرا شده و یا نسخه ذخیره شده آن است .
برای این منظور مراحل زیر را انجام دهید :
- صفحه مورد نظر خود را باز کرده و بر روی حالت Design قرار دهید .
- از منوی ToolBox و قسمت Standard ، یک کنترل Lable را روی صفحه قرار دهید .
- بر روی قسمت خالی از صفحه دابل کلیک کرده تا به بخش کدنویسی صفحه بروید ، سپس در رویداد
Page_Lable صفحه، کدهای زیر را قرار دهید :
|
VB کد
|
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Label1.Text = System.DateTime.Now.ToString(
)
End Sub
|
|
C# کد
|
protected void Page_Load(Object sender, System.EventArgs e)
{
Label1.Text =
System.DateTime.Now.ToString( );
}
|
- با زدن کلید های Ctrl+F5 صفحه را اجرا کنید . مشاهده می کنید که زمان اجرا و ساخته
شدن صفحه توسط کنترل Lable نمایش داده می شود . هربار که صفحه را رفرش کنید ، این زمان
نیز رفرش می شود .
- برای ذخیره صفحه در حافظه ، کد OutputCache@ را
به ابتدای صفحه اضافه نمایید . این کد باعث می شود تا صفحه برای مدت 15 ثانیه در حافظه
ذخیره شده و در این مدت هربار صفحه را فراخوانی نماید ، به جای اجرای مجدد ، نسخه موجود
در حافظه نمایش داده می شود .
|
کد
|
<%@ OutputCache Duration="15" VaryByParam="none" %>
|
تنظیم نحوه ذخیره شدن صفحات کل سایت در حافظه :
در بخش قبل ، شما با نحوه تنظیم یک صفحه تکی برای ذخیره در حافظه سرور آشنا شدید .
در برخی پروژه ها شما می خواهید تنظیمات ذخیره سازی صفحات را برای کل صفحه سایت
تعیین کنید . همچنین ممکن است بخواهید برای برخی صفحات تنظیمات خاصی بکار ببرید ( به
عبارت دیگر آنها را پروفایل بندی کنید ) . در این بخش به آموزش نحوه تنظیمات ذخیره
سازی صفحات یک وب سایت در کل خواهیم پرداخت .
برای این منظور مراحل زیر را انجام دهید :
- فایل Web.Cofing ، وب سایت خود را باز کرده و کد XML زیر را به آن اضافه کنید
. همانطور که می دانید فایل web.config ، فایل تنظمیات برای کل سایت است . :
|
کد
|
<!-- caching section group -->
<caching>
<outputCacheSettings>
<outputCacheProfiles>
<add name="AppCache1" enabled="true" duration="60"/>
</outputCacheProfiles>
</outputCacheSettings>
</caching>
|
- به صفحه ای که در حال کار با آن بودید رفته و صفحه را در حالت Source Code قرار
دهید . سپس کد زیر را به ابتدای صفحه اضافه نمایید :
|
کد
|
<%@ outputcache cacheprofile="AppCache1" varybyparam="none" %>
|
- صفحه را با زدن کلید های Ctrl+F5 اجرا کنید .
- صفحه را چندین بار رفرش کنید . خواهید دید که مقدار کنترل Lable تا هر بازه 60 ثانیه
ای یکسان بوده و سپس عوض می شود .
دانلود فایل عملی پروژه و نسخه PDF راهکار
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :