راهکارهای موثر در ASP.Net > راهکار 6-1 : بالا بردن کارایی وب سایت با ذخیره خروجی صفحه در حافظه

مقدمه :


میزان کارایی یک وب سایت یکی از مهمترین شاخص ها و ویژگی های آن است . با کاهش حجم عملیات پردازش سرور سایت خودتان ، باعث می شوید تا سرور بتواند درخواست های بیشتری را در زمان کمتری اجرا کرده ، پردازش های موازی بیشتری را انجام داده و حجم اطلاعات ارسالی و دریافتی بین سرور و کامپیوتر کاربر را کاهش دهید .
یکی از راه های موثر در افزایش کارایی وب سایت، ذخیره کردن خروجی صفحات Asp.Net در حافظه ، برای کاهش حجم عملیات سرور است . در این حالت سرور برای بازگرداندن مجدد صفحه ، آن را از حافظه خوانده و مجددا اجرا نمی کند .
بصورت نرمال ، وقتی مرورگر صفحه ای را درخواست می کند ، سرور  Asp.Net نسخه ای از آن ساخته و کدهای موجود در آن را اجرا میکند . همچنین چنانچه لازم  باشد اطلاعات مورد نیاز را از پایگاه داده دریافت کرده و به صورت دینامیکی صفحه را کامپایل می کند . سپس خروجی حاصل را به مرورگر ارسال می کند .
ذخیره یک نسخه اجرا شده از صفحه در حافظه ، باعث می شود تا سرور به جای طی تمام مراحل فوق برای اجرای مجدد صفحه ، خروجی ذخیره شده را به مرورگر بفرستد . این کار باعث کاهش حجم کار سرور ، بهبود کارایی سایت و کاهش حجم اطلاعات ارسالی و دریافت می شود .

در این راهکار موارد زیر آموزش داده شده است :

  • ذخیره سازی صفحه در حافظه با استفاده از یک ( Page Directive ) ، باعث ذخیره کل صفحه در حافظه بدون توجه به نوع مرورگر و اطلاعات آن می شود .
  •  استفاده از پروفایل ( Application_Level Cashe ) . بوسیله این قابلیت می توانید نحوه ذخیره کردن صفحات در حافظه را برای کل یک پروژه تعیین نمایید . در این حالت می توانید با یک کد عملکرد کل پروژه را تعیین کنید . ( به جای تعیین برای هر صفحه بصورت جدا ) .
  •  ذخیره سازی صفحه بر حسب پارامترهای ارسالی از صفحه .

برای حمایت از این پروژه ، کتاب راهکارهای موثر در ASP.Net را دانلود نمایید ...

پیش نیازها :

برای اجرای این راهکار نیاز دارید تا برنامه های زیر بر روی سایت شما نصب شده باشد :

  1. Visual Studio.
  2. Microsoft .NET Framework version 2.0 .

مرحله اول - طراحی یک سایت ASP.Net :

در مرحله اول از راهکار بایستی یک سایت ASP.Net را برای اجرای پروژه خود ایجاد نمایید . فرض بر این است که سایت را قبلا ایجاد کرده و یا با نحوه اجرای آن آشنایی دارید ، در غیر اینصورت به راهکار شماره 1-1 : نحوه ایجاد یک وب سایت ASP.Net در ویژوال استودیو بروید .

مرحله دوم - تنظیم ذخیره کردن یک صفحه در حافظه :

در این بخش نحوه تنظیم ذخیره شدن یک صفحه تکی در حافظه را شرح خواهیم داد .
برای این منظور ابتدا یک کنترل Lable بر روی صفحه خود قرار داده و صفحه را برای ذخیره شدن در حافظه تنظیم نمایید .
کنترل Lable را به گونه ای تنظیم نمایید تا در هر بار رفرش شدن صفحه ، زمان ساخت و اجرای صفحه را نمایش دهد . با مشاهده این زمان در هر بار اجرای صفحه ، متوجه خواهید شد آیا صفحه جدیدا اجرا شده و یا نسخه ذخیره شده آن است .
برای این منظور مراحل زیر را انجام دهید :

  1. صفحه مورد نظر خود را باز کرده و بر روی حالت Design قرار دهید .
  2. از منوی ToolBox و قسمت Standard ، یک کنترل Lable را روی صفحه قرار دهید .
  3. بر روی قسمت خالی از صفحه دابل کلیک کرده تا به بخش کدنویسی صفحه بروید ، سپس در رویداد 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( );
         }
  4. با زدن کلید های Ctrl+F5 صفحه را اجرا کنید . مشاهده می کنید که زمان اجرا و ساخته شدن صفحه توسط کنترل Lable نمایش داده می شود . هربار که صفحه را رفرش کنید ، این زمان نیز رفرش می شود .
  5. برای ذخیره صفحه در حافظه ، کد  OutputCache@  را به ابتدای صفحه اضافه نمایید . این کد باعث می شود تا صفحه برای مدت 15 ثانیه در حافظه ذخیره شده و در این مدت هربار صفحه را فراخوانی نماید ، به جای اجرای مجدد ، نسخه موجود در حافظه نمایش داده می شود .
    کد <%@ OutputCache Duration="15" VaryByParam="none" %>

تنظیم نحوه ذخیره شدن صفحات کل سایت در حافظه :

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

  1.  فایل Web.Cofing ، وب سایت خود را باز کرده و کد XML زیر را به آن اضافه کنید . همانطور که می دانید فایل web.config ، فایل تنظمیات برای کل سایت است . :
    کد <!-- caching section group -->
       <caching>
           <outputCacheSettings>
                 <outputCacheProfiles>
                     <add name="AppCache1" enabled="true" duration="60"/>
                 </outputCacheProfiles>
            </outputCacheSettings>
       </caching>
  2. به صفحه ای که در حال کار با آن بودید رفته  و صفحه را در حالت Source Code قرار دهید . سپس کد زیر را به ابتدای  صفحه اضافه نمایید :
    کد <%@ outputcache cacheprofile="AppCache1" varybyparam="none" %>
  3. صفحه را با زدن کلید های Ctrl+F5 اجرا کنید .
  4. صفحه را چندین بار رفرش کنید . خواهید دید که مقدار کنترل Lable تا هر بازه 60 ثانیه ای یکسان بوده و سپس عوض می شود .

دانلود فایل عملی پروژه و نسخه PDF راهکار



راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1