37 نکته کلیدی برای بهبود عملکرد صفحات وب

Sarp

مدیر بازنشسته
1- خصوصیت debug رو در وب کانفیگ برابر با false کنید =>

کد:
[LEFT]false">
[/LEFT]

2- به جای Reponse.Redirect از Server.Transfer استفاده نمائید
3- همیشه و در هنگام استفاده از کنترل های Validation عبارت Page.IsValid را فراموش نکنید
4- به جای استفاده از حلقه for ؛ از حلقه foreach استفاده نمائید
5- از Client-Side Validation استفاده کنید و در نهایت Server-Side validation را نیز یکبار حداقل انجام دهید
6- در هنگام لود صفحه ؛ Page.IsPoastBack را مورد بررسی قرار دهید تا از تکرار کدهای شما جلوگیری شود
7- عکس های gif,png به مانند یکدیگر می باشند؛ اما عکس های png دارای حجم کمتری می باشند؛ بنابراین استفاده از عکس های png مناسب تر می باشد؛ ضمنا این نکته را فراموش نکنید که تمامی مرورگرها از عکس های png پشتیبانی نمی کنند.
8- در هنگام بروزرسانی ؛ از فایل AppOffline.htm استفاده نمائید
9- Tarcing را تا زمانی که به آن احتیاج ندارید؛ غیر فعال نمائید. ( به صورت پیش فرض برابر با False می باشد؛ اما در صفحاتی که به Tracing احتیاج دارید؛ آنرا فعال نمائید) =>

کد:
[LEFT]false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true"/>
[/LEFT]
10- چنانچه در صفحه ای نمی خواهید از ایونت Page_Load استفاده نمائید؛ AutoEventWireup را برابر False قرار دهید
11- در صورت عدم نیاز Session state را برابر با false قرار دهید
12- در نهایت از حالت release به منظور compile و publish سایت استفاده نمائید
13- در صورت عدم نیاز ؛ viewState را برابر با False قرار دهید
14- تعداد ارتباط با دیتابیس را تا حد امکان کاهش دهید
15- به منظور داشتن performance بهتر از Cashing استفاده نمائید
16- تمام مقادیر ورودی توسط کاربر را چک و بررسی نمائید
17- از finally به منظور حذف حافظه تخصیصی به عناصر و اشیاء استفاده نمائید( در صورتیکه از عبارت using استفاده می نمائید؛ نیاز به finally نمی باشد)
18- کار بر روی رشته ها را توسط کلاس StringBuilder انجام دهید؛ چرا که از یک مکان حافظه برای این منظور استفاده می کند.
19- از مقادیر اشیاء به طور مستقیم استفاده نکنید؛ ابتدا مقدار مورد نظر را در یک متغیر محلی ذخیره کنید تا بتوانید چندیدن بار از این مقدار استفاده کنید.
20- از exception استفاده نکنید؛ تا می توانید استثناها و خطاهای احتمالی را توسط if مورد بررسی قرار دهید.
21- بهینه کد بنویسید؛ بطور مثال از عبارت x += 1; به جای عبارت x = x + 1; استفاده نمائید
22- سرعت دریافت اطلاعات DataReader به مراتب بیشتر از DataSet می باشد؛ بنابراین در جایی که Perfomance مد نظر می باشد؛ DataReader گزینه مناسبی می باشد
23- قبل از اجرای کارهای حجیم توسط کد؛ عبارت Response.IsClientConnected را مورد بررسی قرار دهید.
24- تا حد امکان از متغیر های Session استفاده ننمائید؛ چون هر صفحه ASP.NET در یک Thread جدا اجرا خواهد شد و متغیر های Session به طور تک تک می باید Serialize شوند. بنابراین باعث کند شدن سایت خواهد شد.به جای متغیر های Session می توان از QueryString و یا Hidden متغیرها استفاده نمود تا بتوان مقادیر را نگهداری نمود
25- فعال نمودن Buffering باعث بهبود performance خواهد شد

کد:
[LEFT]Response.Buffer = true;
[/LEFT]
26- از کنترل Repeater به جای DataGrid,DataList,GridView استفاده نمائید
27- نمایش داده ها و اطلاعات بیشترین زمان را مصرف خواهد نمود؛ در نظر داشته باشید که در paging دیتاها چنانچه داده ها زیاد باشند؛ تنها قسمت کوچکی از داده ها مورد استفاده قرار خواهند گرفت؛ بنابراین تنها اطلاعات مورد نظر خود را بازیابی نمائید و paging را به گونه ای customize نمائید که تنها تعداد رکوردهای مورد نظر شما را بازیابی و نمایش دهد
28- از یک فایل css به جای استفاده از چندین فایل css استفاده نمائید؛ چرا که به ازای هر فایل یک Request به سرور فرستاده می شود. فایل های Css به طور معمول توسط مرورگرها cashe می شوند؛ بنابراین یک فایل css که کمی بزرگتر و حجیم تر می باشد نیز زمان زیادی را صرف نخواهد نمود
29- Inline css ها یعنی همان هایی که در کد html نوشته می شوند باعث سنگین شدن html خواهند شد؛ بنابراین بهتر است در یک فایل جداگانه قرار گیرند
30- کدهای Css و javascript خود را Compress نمائید تا فایل نهایی به حداقل حجم خود رسیده و بارگذاری آن نیز سریع تر گردد
31- دیتاهای خود را به طور خاص cashe نمائید؛ بطور مثال محتویات یک لیست که برای مدتی (مثلا چند هفته یا ماه) ثابت می باشد و از دیتابیس خوانده می شود
32- از httpCompression استفاده نمائید و صفحات خود را توسط gzip,deflate کمپرس نمائید
33- از httpCombiner به منظور ترکیب فایل های css, js,… استفاده نمائید
34- فاصله بین تگ ها را تا حد ممکن از بین ببرید
35- به جای استفاده از table در کدهای html از div استفاده نمائید
36- از procedure ها به جای نوشتن query ها در کد استفاده کنید
37- به جای لود چندین عکس در صفحه ؛ از تکنیک css sprite استفاده کنید تا به جای چندین عکس؛ یک عکس لود شود.

گردآوری: محتبی صحرائی، Dotnetsource.com
 
بالا