دسته بندی وبلاگ

افزایش سرعت بارگذاری صفحات Asp.NET

افزایش سرعت لود صفحه در asp.net

سرعت Load  و  بارگذاری صفحات در وب به ویژه برای کاربرانی که از سرعت اینترنت بالایی برخوردار نیستند، بسیار پر اهمیت است. به همین خاطر سایت هایی که به کندی باز می شوند، باعث دل زدگی کاربران و بازدیدکنندگان شده و به مرور بازدیدکنندگان خود را از دست خواهند داد .

توسعه گران Asp.NET باید بدانند که در صورت بی توجهی و بی دقتی به برخی نکات حجم صفحات افزایش پیدا کرده و وب سایت به کندی باز خواهد شد .

در این مقاله به ذکر چند نکته اساسی در این رابطه می پردازم :

  • بانک اطلاعاتی : نیمی از دلایل کند شدن صفحات به دلیل استفاده نادرست از بانک اطلاعاتی می باشد ، برای همین دقت به نکات زیر در مورد استفاده بانک اطلاعاتی ضروری می باشد :
  1. حتی المقدور از بانک اطلاعاتی SQL Server استفاده کنید ، بانک Access و همچنین SQLExpress بانک های اطلاعاتی مناسبی برای پروژه های حرفه ای نیستند .
  2. برای جداول خود حتما Primary Key تعیین نمایید ، و بین جداول Relation های مورد نیاز را برقرار کنید
  3. فیلد هایی که در هنگام Query گرفتن بر روی آن ها شرط می گذارید Index کنید
  4. حتما از Stored Procedure استفاده کنید
  5. برای نمایش اطلاعات زیاد (1000 رکورد به بالا) از Paging پیش فرض خود GridView استفاده نکنید ، بلکه از روش های CustomePaging (صفحه بندی دستی) استفاده کنید تا رکورد ها به تفکیک درخواست شوند
  6. تا جایی که امکان دارد از Join کردن چند جدول در یک Query که حجم زیادی را درخواست می کنند بپرهیزید
  7. به جای View ها از StoredProcedure استفاده کنید

 

  • غیر فعال نمودن ViewState : یکی از دلایل مهم در افزایش حجم صفحات Asp.NET را می توان استفاده بی رویه از ViewState   ذکر نمود ، برنامه نویسان Asp.NET باید به این قضیه بسیار توجه کنند که اگر به حالت ماندگاری مقادیر یک کنترل نیازی ندارند باید ViewState آن را غیر فعال کنند .ViewState باعث می شود که کنترل شما پس از PostBack مقادیر خود را حفظ نماید ، به عنوان مثال  اگر یک GridView دارید که Paging و Sorting ندارد می توانید ViewState آن را غیر فعال کنید .

 

  • استفاده کردن از Css : استفاده از Css به صورت فایل خارجی به طور محسوسی به سرعت بارگزاری صفحات شما کمک خواهد کرد ، به جای اینکه استایل یک تگ در همان تگ نوشته شود یک کلاس برای آن در یک فایل خارجی Css ایجاد می کنیم و فقط نام کلاس در تگ ذکر خواهد شد ، به ویژه در کنترل های تکرار کننده مانند GridView و Repeater و... حتما از Css به صورت فایل خارجی استفاده کنید و از نوشتن Style داخل خود تگ جدا خود داری نمایید .

 

  • گرافیک سبک : استفاده از قالب های گرافیکی سنگین و همچنین استفاده از عکس های Optimize نشده صحفات شما را سنگین خواهد کرد 

 

  • تگ Div به جای Table : استفاده بی رویه از المان Table یک روش بسیار نا مناسب برای ساخت صفحات وب است ، این کنترل بدلیل داشتن تگ های TR و TD به سرعت حجیم می شود ، به ویژه در هنگامی که کنترل های تکرار کننده استفاده می کنید پیشنهاد می شود به جای استفاده از Table از تگ Div استفاده کنید .

 

  • استفاده از Css Friendly : اگر شما جزو کسانی هستید که از کنترل های Menu و TreeView خود دات نت استفاده می کنید هرچه سریعتر به سراغ Css Friendly بروید ، این کنترل ها به شکل عجیبی حجم صفحات شما را افزایش داده و سایت شما را کند می کنند ، دلیل این امر این است که به صورت پیشفرض این کنترل ها از المان Table استفاده می کنند و با وجود تگ های Tr و Td و همچنین استایل هایی که داخل هر تگ نوشته می شوند و همچنین توابع جاوا اسکریپتی حجم زیادی را به وجود می آورند ، پس از نصب Css Friendly این المان به تگ Div تبدیل می شوند . پیشنهاد دیگر بنده این است که حتی المقدور از منوهای Css Base استفاده کنید و تاجایی که ممکن است از استفاده کردن از منوهای خود دات نت پرهیز نمایید .

 

  • وارد کردن متن از نرم افزار Word : اگر قصد دارید در صفحه ای سایت متنی را از نرم افزار Word یا نرم افزار های مشابه کپی کنید دست نگه دارید ، پس از Copy کردن متن آن را Paste نکنید بلکه از Paste Alternate (این گزینه در Visual Studio وجود دارد) استفاده کرده تا استایل های متن پاکسازی شوند ، این استایل ها شکل غیر قابل باوری حجم صفحه شما را افزایش خواهند داد . همچنین میتوانید متن را یک بار در یک Notepad کپی کرده و سپس به صفحه منتقل نمایید .

 

  • فشرده سازی صفحات : فشرده سازی صفحات از نظر بنده جزو طراحی یک وب سایت است و ناگزیر باید انجام شود ، این کار حجم صفحات شما را تا ده ها برابر کاهش خواهد داد .

 

  • حذف فضا های خالی : شاید در ابتدا به نظر برسد که فضای خالی یعنی هیچ ولی این تفکر درست نیست ، فضاهای خالی در صفحات Html برای نمایش زیباتر متن به کار می روند ، شما با حذف این فضا ها به صورت داینامیک حجم قابل توجهی را کاهش خواهید داد

 

  • استفاده از Cache : در وب ، کش کردن صفحات یکی از روش های مرسوم افزایش سرعت بارگزاری می باشد ، در Asp.NET چند نوع Cache وجود دارد ، Cache بانک اطلاعاتی ، Cahce اطلاعات خروجی و ... شما میتوانید بخش هایی از پروژه خود که نیاز به اطلاعات به روز ندارد را Cache کنید ، این کار به افزایش سرعت بارگزاری و افزایش کارایی ( Performance ) بانک اطلاعاتی کمک خواهد کرد .

 

  • Ajax :  همانطور که استفاده بهینه از Ajax سرعت صفحات شما را افزایش داده و لود دوباره گرافیک و اجزای صفحه جلوگیری می کند استفاده بی رویه و غیر منطقی باعث کاهش سرعت بارگزاری صفحات خواهد شد ، بنابراین قبل از استفاده از Ajax در مورد همه چیز خوب فکر کنید ، استفاده از کنترل های Ajax مایکروسافت حجم زیادی کد های Javascript به صفحات شما تزریق کرده و باعث کند شدن آن می شود ، در جاهایی که حجم صفحه برای شما خیلی مهم است و می خواهید از Ajax استفاده کنید میتوانید از Ajax کلاسیک (XHR) یا   Jquery Ajax استفاده نمایید ، همچنین کتابخانه Anthem کتابخانه مناسب تری برای کار با Ajax می باشد .

 

  • JavaScript : در استفاده از کتابخانه های جاوا اسکریپت وسواسی عمل کنید ، دقت نمایید که فایل هایی جاوا اسکریپت که در تگ Head اضافه می کنید در هنگام بارگزاری صفحه لود خواهند شد ، البته پس از بارگزاری برای اولین بار Cache می شوند ولی به هرحال استفاده نا بجا باعث کندی صفحات شما می شود ، استفاده نا بجا از کتابخانه های Jquery و Mootools نیز از قاعده مستثنی نیست ، فقط کتابخانه هایی که در هر صفحه نیاز دارید را در همان صفحه وارد نمایید ، از وارد کردن کل کتابخانه ها در MasterPage بپرهیزید .

 

  • کوچک نمایی تصاویر : اگر قرار است در بخشی از سایت عکسی را نمایش دهید و این عکس قرار است کوچک تر نمایش داده شود حتما از روش های کوچک نمایی تصاویر استفاده کنید تا با کوچک شدن تصویر حجم آن هم به تناسب کوچک شود .

 

  • انتخاب هاست مناسب : انتخاب WebHosting مناسب بخشی از پیاده سازی یک وب سایت است و تاثیر به سزایی در سرعت وب سایت تان دارد بنابراین در انتخاب آن بسیار دقت کنید ، از انتخاب سرور هایی که تعداد زیادی دامنه بر روی آن ها وجود دارد بپرهیزید (برای اطلاع از تعداد دامنه ها بر روی یک سرور به آدرس http://www.domaintools.com/reverse-ip مراجعه کنید ) ، از سرور هایی که در دیتاسنتر های نا معتبر هستند خودداری نمایید . قبل از خرید هاست از مدیر هاست یک هفته تست رایگان درخواست نمایید و کل پروژه را به صورت کامل روی هاست تست نمایید . اگر وب سایت شما قرار است فقط در ایران استفاده شود استفاده از سرور های ایرانی گزینه مناسبی است .

 

  • غیر فعال کردن خاصیت Debug : پس از اینکه پروژه را Publish کردید ، قبل از بارگزاری فایل ها به سراغ Web.Config رفته و خاصیت debug تگ compilation را false نمایید .

 

  • Publish کردن وب سایت : پس از اینکه پروژه شما به اتمام رسید قبل از بارگزاری سایت حتما پروژه را Publish کرده و سپس آن را بارگزاری کنید ، برای این کار کافیست وارد منوی Build شده و گزینه Publish Web Site را انتخاب کنید ، مسیر مورد نظر را وارد کرده ، گزینه اول و دوم را تیک دار کنید و سپس دکمه OK را کلیک نمایید .

 

برگرفته از HOW 2 LEARN ASP.NET