یک شنبه 06 فروردین 1396

بهینه سازی و افزایش سرعت ASP.NET

بهینه سازی و افزایش سرعت ASP.NET

در این مقاله قصد داریم نکاتی را معرفی کنیم که در بهینه سازی و افزایش کارایی و سرعت برنامه های ASP.NET تاثیر بسزایی دارند.
اگرچه ASP.NET مدل جديدی از برنامه‌نویسی تحت وب می‌باشد و آمده است که نواقص و کمبود های قبلی را برطرف نموده و به کارایی برنامه‌های تحت وب بی افزاید، اما شما همچنان نياز داريد که جهت کارایی و بهينه بودن برنامه‌هایتان نکاتی را رعايت کنيد. اين نکات جهت افزايش کارایی، سرعت و صرفه‌جویی در مصرف منابع بر روی سرور است. که به شرح زیر است:

Session State را در صورت عدم نياز حتماً غيرفعال نمایید:
بصورت پيش فرض وضعيت Session State برای هر صفحه فعال است. اگر مطمئن هستيد که در آن صفحه از متغيرهای Session استفاده نمی کنيد، حتما آن را در دايرکتيو Page بالای صفحه تان با قراردادن آن برابر False غيرفعال کنيد تا بدين ترتيب منابع اضافی در سرور مصرف نشود. اگر هم مطمئن هستيد که در کل برنامه يا سايت تان نمی خواهيد از متغيرهای Session استفاده کنيد می توانيد آن را در web.config بطور کلی غيرفعال کنيد (توجه: در اجرای این روش دقت کافی داشته باشید).

تا آنجائيکه ممکن است از View State استفاده نکنيد:
View State هم مانند Session State برای نگهداری اطلاعات و سابقه يک فرم از منابع سرور استفاده کرده و به حجم صفحات اضافه می کند. از طرفی اين حالت بصورت پيش فرض فعال می باشد. لذا در صورتيکه به آن نياز نداريد از آن استفاده نکنيد و حالت آن را در دايرکتيو Page غيرفعال نمائيد و همچنین می تواند مقدار ویژگی EnableViewState کنترل ها را نیز false قرار داد.

از رفت و برگشت (Postback) های زياد از حد پرهيز کنيد:
فرم های وب جهت پردازش بايد به سرور ارسال شده و نتيجه پردازش برگشت داده شود. به اين عمل يک رفت و برگشت يا Round trip می گويند. از آنجا که اين رفت و برگشت ها برای سرور ايجاد بار پردازشی و ترافيک می کنند، سعی کنيد بگونه ای از کنترل های وب استفاده کنيد که حداقل رفت و برگشت را داشته باشيد و تا جائيکه می توانيد از پردازش های سمت کاربر (Client side) برای کارهای ساده ماننده بررسی صحت ورود اطلاعات استفاده کنيد. در این روش جهت تبادل داده با سرور می توان از Ajax استفاده کرد.

از Page.IsPostback استفاده کنيد:
استفاده از Page.IsPostback سبب کاهش رفت و برگشت های (Round trip) اضافی می گردد. همچنين به شما کمک می کند که تشخيص دهيد چه موقع نياز به توليد داده جديد برای يک صفحه داريد.

استفاده صحیح و به موقع از کنترل های سرور:
اگرچه کنترلهای سرور دارای قابليت های بسيار زياد و جالبی می باشند اما اين قابليتها ناشی از اجرای آنها بر روی سرور است. از آنجا که هر اجرائی بر روی سرور ايجاد بار اضافی در سرور می کند لذا در استفاده از اين نوع کنترلها خساست و دقت بخرج دهيد و اگر جایی می توانيد از کنترلهای معمولی HTML استفاده نمائيد. به دلیل اینکه همانگونه که ما به لایه های پایین تر از زبان برنامه نویسی برویم سرعت کار بیشتر خواهد بود.

فشرده سازی فایل های css و js:
کاهش زمان بارگزاری صفحات از طریق فشرده سازی فایل های css و js بسیار مفید است و این کار را می توانید با استفاده از افزونه های ویژوال استودیو مانند: Web Essentials و همچنین وب سایت های آنلاین مانند: cssminifier.com و javascript-minifier.com انجام داد. (نمونه کار اجرا شده: darvishihotel.com)
از Stored Procedure استفاده کنيد:
اگر از بانک اطلاعاتی در برنامه تان استفاده می کنيد، سعی کنيد که حتما پرس و جوهای (Query) خود را به روال های ذخيره شده (Stored procedure)  بسپاريد. از آنجائيکه اين روال ها برای مراجعه اول کامپايل شده و از آن پس جهت اجرا در اختيار مدير بانک اطلاعاتی (DBMS) قرار می گيرد، نسبت به پرس و جوهای معمولی درون برنامه ای بسيار کاراتر و سريعتر هستند. از طرفی با بهينه سازی خاصی که برای گرداننده SQLServer (driver) در مجموعه دات نت شده است، سرعت اجرای روال های ذخيره شده نسبت به روش های معمولی OLEDB يا ODBC بيش از دو الی سه برابر می باشد.

از SqlDataReader استفاده کنيد:
اگر حجم بالایی از داده نداريد يا تنها می خواهيد از بانک اطلاعاتی عمل خواندن را انجام دهيد حتما از Data Reader استفاده کنيد. استفاده از Data Set سبب کندی کار و مصرف بالای منابع می گردد. در کل می توان گفت از کارهایی که به مدت طولانی برنامه را جهت دریافت اطلاعات از سرور بانک اطلاعاتی بلاک می کنند بپرهیزید.

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

از Caching استفاده کنيد:
Caching یکی از ویژگی های منحصر به فرد ASP.NET است. تا آنجائيکه ممکن است از Caching استفاده کنيد. استفاده از Caching  سبب می شود تا از توليد مجدد کد  HTML (Page Rendering)لازم برای يک صفحه تکراری جلوگيری شده و کاربر هم صفحات را خيلی سريعتر دريافت کند. در این روش میتوان متناسب با وابستگی به یک متغییر یا بازه زمانی خاص، کد تولید شده را جهت تازه سازی دوباره تولید کرد.

حالت Debug را غيرفعال کنيد:
هنگاميکه کار برنامه نويسی شما تمام شده است و زمان استفاده واقعی از برنامه فرا رسيده است، فراموش نکنيد که حالت Debug در کامپايل نهائی برنامه تان را غيرفعال نمائيد. این کار را می توان از طریق نوار ابزار Standard انجام دهید.

شرکت داده پردازی فراتک با در نظر گرفتن تمامی نکات بهینه سازی وب سایت یکی از برترین شرکت های طراحی وب سایت در سطح کشور است. برای مشاهده دیگر نمونه کارها و دریافت اطلاعات بیشتر به وب سایت faratechdp.com مراجعه کنید.

نظرات

قوانین ارسال نظر

  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط با خبر باشد منتشر نخواهد شد.
  • با توجه به آن که امکان موافقت یا مخالفت با محتوای نظرات وجود دارد، معمولا نظراتی که محتوای مشابه دارند، انتشار نمی‌یابند بنابراین توصيه مي‌شود از مثبت و منفی استفاده کنید.