۱۷ راه کار طلایی برای بهینه سازی صفحات ASP.NET و افزایش سرعت ASP.NET
بهینه سازی صفحات ASP.NET و افزایش کارآیی و سرعت برنامه های ASP.NET جز موارد ضروری برای هر سایت طراحی شده با این زبان است. با وجود کارا بودن asp.net و وجود آن جهت رفع نقص ها و کمبودهای قبلی و افزایش سرعت ASP.NET نیاز است تا نکات زیر را رعایت نمایید.
راه های بهینه سازی صفحات وب و افزایش سرعت ASP.NET
۱-برای بهینه سازی asp.net و افزایش سرعت asp.net کافی است View state را غیرفعال کنید
گزینه ی Enable View Stateرا برای هر کنترلی که نیازی به view state ندارد ، برابر false قرار دهید. درصورتیکه صفحه ی شما از postback استفاده نمی کند غیرفعالسازی این خصوصیت مشکلی ایجاد نخواهد کرد.به شما پیشنهاد می شود مقاله ما با موضوع استفاده از Postback در ارتباط بین سرور و برنامه های تحت وب در ASP.Net را برای کسب اطلاعات بیشتر مطالعه نمایید.
۲-یرای بهینه سازی صفحات asp.net کافی است از Page.Ispostback در رویداد page_load استفاده کنید
مطمئن شوید که همه ی کدهای موجود در page_load در بلاک if( Page.Ispostback) باشند در غیر اینصورت با هر لودینگ صفحه کدها اجرا شده و منابع سرور را اشغال می کنند.
۳- بهینه سازیasp.net را با فراخوانی ها برای سرویس های وب را همگام کنید
درصورتیکه از سرویس های وب در صفحه ی خود استفاده می کنید و برای لود شدن به زمان بالایی نیاز دارند از فراخوانی های همزمان برای این سرویس ها استفاده کنید البته این روش سربار خاص خود را به دنبال خواهد داشت بنابراین فقط در مواقع ضروری از آن استفاده نمایید.
۴-برای عملیات رشته ای از string builder استفاده کنید
در عملیات رشته ای طولانی از قابلیت فوق به جای عملیات دستی استفاده نمایید.
۵-بهینه سازی صفحات asp.net با مدیریت exception ها
Exception ها را فقط در مواقع مورد نیاز اجرا نمایید از آنجایی که اجرای exception در کارایی سایت تان موثر خواهد بود از عبارتی مانند if not system.dbnull …. در مدیریت آنها استفاده کنید. اگر از exception استفاده کردید با دستور finally حافظه اختصاص داده شده را آزاد کنید و به Garbage Collector برای انجام این کار تکیه نکنید.
۶-قابلیت Page Buffering را در حالت on قرار دهید
این قابلیت را در حالت on قرار دهید.در جاهایی که صفحات وب بزرگی وجود دارند کاربر می تواند در حین لود صفحه بخش هایی از آن را مشاهده نماید.
۷- از caching استفاده نمایید
تا حد ممکن داده ها را cache کنید خصوصا داده هایی را که می دانید تغییری نخواهند کرد و یا چندین بار مورد استفاده قرار می گیرند.
حتی برای صفحاتی که به طور مداوم تغییر پیدا نمی کنند نیز می توانید از قابلیت page caching استفاده کنید. کد زیر مثالی در این رابطه را نشان می دهد :
<% @OutputCache Duration=”۶۰″ VaryByParam=”none” %>
۸-از فایل های script برای بهینه سازی صفحات asp.net استفاده کنید
دستورات javascript را به طور مستقیم در صفحات قرار ندهید و آنها را در فایلی با پسوند .js ذخیره و سپس فراخوانی نمایید.مزیت این کار این است که کدهای یکسان به اشتراک گذاشته می شوند و فایل حاوی کدهای جاوا یک بار در کش مرورگر لود می شود و نیازی به دانلود مجدد آن نخواهد بود.سایر اسکریپت های جاوای غیر قابل استفاده را حذف کنید.به شما پیشنهاد می شود برای کسب اطلاعات در حوزه javascript چیست مقاله ما را مطالعه نمایید.
۹-درصورتیکه از کنترل Tabstrip استفاده می کنید HTML های مخفی را پاک کنید
برای این کار کافی است خصوصیت Autopostback of Tabstrip را در حالت on قرار دهید. همچنین حصوصیت visibility همه ی پنل ها را به غیر از پنل جاری با false مقدار دهی نمایید.
این کار باعث می شود هرزمان که tab تغییر می کند صفحه مجدد برگذاری شود.
۱۰-زمانیکه از session استفاده نمی کنید آن را غیر فعال نمایید
کد زیر این کار را انجام می دهد :
<%@ Page EnableSessionState=”false” %>
اگر صفحه فقط session را می خواند و چیزی در آن نمی نویسد آن را در حالت read قرار دهید.
<%@ Page EnableSessionState=”ReadOnly” %>
۱۱-برای بهینه سازی صفحات asp.net کافی است Option Strict را در حالت on قرار دهید
این قابلیت باعث می شود برخی تبدیلات انواع (type convesion) مانند int به real که به صورت مخفیانه انجام می شوند حذف شوند.
۱۲-از قابلیت threading استفاده نمایید
زمانیکه فصد دانلود حجم بالایی از داده ها رادارید از threading استفاده کنید.از آنجاییکه این قابلیت ممکن است باعث ایجاد سربار شود در استفاده از آن باید دقت لازم را به خرج دهید. از thread های long term کمترین استفاده را داشته باشید و تا حد ممکن بین آنها سوئیچ ننمایید.
۱۳-برای سرعت برنامه های ASP.NETاز توابع chunky استفاده کنید
فراخوانی chunky تابعی است که چندین وظیفه را انجام می دهد. طراحی برنامه ی شما بایستی به گونه ای باشد که به فراخوانی های کوچک و مداوم که دارای سربار هستند تکیه ننماید .
۱۴-از ajax استفاده کنید و افزایش سرعت ASP.NET را تجربه کنید
فایل هایی که لود ینگ آنها به صورت مداوم انجام می شود را با کد ajax طراحی کنید.
۱۵- از کلاس SqlDataReader استفاده کنید
این کلاس روشی را فراهم می آورد تا جریان های داده ای را که از sqlserver بازیابی می شوند در آن خوانده شوند.اگر تنها نیاز به خواندن داده ها دارید، کلاس SqlDataReader کارایی بیشتری را در مقایسه با کلاس dataset ارائه می دهد.چرا که از پروتکل Tabular Data Stream برای خواند داده ها از اتصالات دیتابیس استفاده می کند.
۱۶- برای بهینه سازی صفحات asp.net از Stored Procedures استفاده کنید
این رویه ها سریع تر از دستورات sql فراخوانی می شوند چرا که به صورت precompile می باشند.
۱۷- هنگام استفاده از سرویس های وب بیشتر دقت نمایید
برای افزایش سرعت ASP.NET این نوع سرویس ها به دلیل دارا بودن حجم بالایی از داده ها به حافظه بالایی نیاز دارند ، فقط در مواقع ضروری از آنها استفاده نمایید.
عالی بود موفق باشید
نکات خوبی رو بهشون اشاره کردید .سوالی داشتم .اگر در صفحات asp چندید dropdownlist داشته باشیم که به کرات استفاده بشن بهتره محتوای اونها رو از دیتا بیس بخونیم یا اینکه مقادیرشون رو در صفحه aspx در داخل تگشون بنویسیم