PDA

View Full Version : مقاله: افزایش سرعت لود سایت شما !



aserfg
یک شنبه 07 آذر 1389, 20:07 عصر
62869
بهبود performance در برنامه نویسی :
به نظر من performance یعنی: مرز بین یک web developer با یک برنامه نویس ویندوز
با سلام
در تمامی زبانهای برنامه نویسی تحت وب همیشه بهبود سرعت بارگذاری صفحات یک امر بسیار مهم تلقی شده ولی ما asp.net کار ها بیش از بقیه برنامه نویسان باید دنبال این مورد باشیم (دلیلش رو همه ما می دونیم ) . آقای در تاپیکشون نکات ارزنده ای رو ارائه کردن من هم می خواستم این مطالب رو در دنباله مطالب ایشون بیارم ولی چون تا پیکشون خراب نشه گفتم جداگونه این مطالب رو تقدیم کنم .

قسمت محتویات
1-کاهش تعداد httprequest ها :
فرض کنید در صفحه شما 3 تا فایل css خارجی و 4 تا فایل جاوا اسکریپت خارجی داره برای هر کدوم از این فایلها باید یه درخواست از سمت کلاینت ارسال و یه پاسخ از سمت سرور ارسال بشه . بنابراین اگر شما همه 3 تا فایل css رو یکی و جاوا اسکریپت خارجی رو هم یکی در نظر بگیرین تعداد این رفت و برگشت ها رو کم کردین .
2- عدم استفاده از url redirects

مثلا از صفحه a اگه فلان شرط نبود به صفحه b و باز از اونجا به صفحه a

تا جایی که امکانش هست از این کار اجتناب کنید . کد مربوط به این کار برای http برابر 301و302، چون تمامی کدهای html تا زمان اتمام کار در صفحه رندر نمی شن .

3-کاهش تعداد عناصر تو در تو . یه div--p--span--h1--

عناصر اضافی رو حذف کنید چون مدت زمان لازم برای کدهای جاوا اسکریپت برای رسیدن به این عناصر طولانی می شه دوستان آشنا به مدل شیئی dom این موضوع رو بهتر درک می کنن .

کوکی ها :

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

2- استفاده از فایلهای css خارجی .

یعنی تو صفحه خودتون از کدهای css استفاده نکنید . و البته فقط یک فایل css خارجی برای هر صفحه . بنابراین selector ها یا انتخابگر ها رو دقیق بذارید تا مشکلی پیش نیاد .

3- کاهش حجم css تا جای ممکن .

تصاویر

1-طراحان وب سایتها گاها به جای کاهش حجم یه عکس با ست کردن طول و عرض برای تصاویر این کار رو انجام میدن . از این کار هم اجتناب کنبد .

2- استفاده از عکس favicon با حجم کم و کش کردن اون .

(favicon همون عکس کوچک کنار آدرس سایت در مرورگر) خیلی جالبه که بدونید برای همین عکس بی مقدار هم باید یه درخواست httprequest به وب سرور ارسال بشه .

جاوا اسکریپت

1-همانند همون فایلهای css از جاوا اسکریپت خارجی استفاده کنید و برای هر صفحه تنها یک فایل خارجی بنابراین در انتخاب نام برای توابع جاوا اسکریپت دقت کنید .

مهمتر از همه عدم استفاده از کنترلهای ajax toolkit که تنها به منظور ایجاد کدهای جاوا اسکریپت استفاده میشن . مثلا accordion به نظر من تنها update panel مفیده اونم زمانی که view state تمامی کنترلهای داخلش false باشه .

Session state

در asp.net به صورت پیش فرض وضعیت سشن ها همیشه on هست و در هر نقطه از برنامه قابل دسترسی است که باعث کاهش سرعت بارگذاری می شه در صورتی که از session استفاده نمی کنید وضعیت اون رو off کنید روش خاموش کردن سشن از وب کانفیگ برای همه صفحات یا برای یه صفحه خاص :


<%@ Page ... EnableSessionState="true" %>


cache

این مورد رو توی مقاله دوستمون ذکر شده ولی چند مورد رو اضافه می کنم
شما در مقوله کش با دو حالت سرو کار دارین :
1-کش داده های بانک که برای اینکار باید از لایه کش بین دو لایه presentation , bll یه لایه کش بزارین .
2- تمامی اشیایی که در سایت تغییر نمی کنن مانند منوها و یا حتی کدهای html رو می تونین به صورت user control تعریف کنید بعد اون کنترل رو به صورت out put cache کش کنید .
با آرزوی موفقیت برای شما