• linkedin
خوش آمدید , مهمان - ورود اینجا ثبت نام اینجا . فعال سازی حساب کاربری

Google


normal_post - افزایش سرعت تولید نرم افزارهای تحت وب ASP.NET - متا نویسنده موضوع: افزایش سرعت تولید نرم افزارهای تحت وب ASP.NET  (دفعات بازدید: 1170 بار)

0 کاربر و 1 مهمان درحال دیدن موضوع.

آفلاین سید علا سبزپوش

بسیاری از اوقات نرم افزارهای تحت وب asp.net مجموعه ای از پروژه های web application هستند که تنها یکی از آنها web application نهایی است که همه ی کدهای نهایی پروژه ها را در خود دارد. گاهی تغییرات کوچکی در کد باعث ریست کل application و کامپایل مجدد کد و در نتیجه مدت زمان بسیار طولانی انتظار برای تغییرات کوچک اعمال شده می شود.

اما با تنظیمات بسیار ساده نرم افزاری می توان سرعت تولید نرم افزار را افزایش داد و زمان انتظار را بسیار کم کرد.

در کل در سه زمینه امکان بهبود سرعت را داریم:

    زمان کامپایل
    اولین زمان اجرای نرم افزار تحت وب
    کارایی نرم افزار / سرعت دسترسی به پایگاه داده

چیزی که در این مقاله برای ما اهمیت دارد موارد 1 و 2 هستند تا بتوانیم سرعت تولید نرم افزار را بالا ببریم.

برای مورد سوم می توانیم از نرم افزارهای پر قدرتی نظیر dotTrace استفاده کنیم که به خوبی ما را در پیدا کردن گلوگاه های نرم افزار و رفع آنها کمک می کنند.
قرار دادن فایل های موقت IIS در یک Ramdisk

بسته به حجم نرم افزار تحت وب و نیز میزان حجم Ramای که دستگاه شما دارد، ممکن است استفاده از RAM disk برای نگهداری فایل های موقت IIS باعث افزایش باور نکردنی سرعت اجرای نرم افزار تحت وب گردد.

همانطور که از نام Ramdisk نیز مشخص است این نرم افزارها بخشی از حافظه Ram را در اختیار می گیرند و با آن مانند یک disk معمولی رفتار می کنند و بدین ترتیب با معرفی آدرس یک ramdisk به IIS برای نگهداری داده های موقت، تمامی این داده ها در RAM نگهداری خواهند شد و سرعت نوشتن و خواندن آنها به خوبی بهبود پیدا خواهد کرد.

با تغییر تنظیمات زیر در فایل web.config می توانیم آدرسی که می خواهیم فایل های موقت در آن قرار گیرند را مشخص کنیم. به فرض q: آدرس Ramdisk ما است.

<compilation ... tempDirectory="q:\temp\iistemp\"> ... </compilation>


در صورتی که بخواهیم همه ی پروژه های تحت وب در سیستم از این Ramdisk استفاده کنند، می توانیم فایل web.config کل سیستم را تغییر دهیم. برحسب اینکه از نگارش 4 یا قبل از آن استفاده می کنید، و نیز برحسب اینکه از سیستم 32 بیتی یا 64 بیتی استفاده می کنید باید یکی از این فایل های web.config را تغییر دهید:

   1:  C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\Web.config

   2:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Web.config

   3:  C:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\Web.config

   4:  C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Web.config

تغییر یکی دو تنظیم مربوط به compilation در web.config

زمانی که یک سایت ASP.NET برای اولین بار فراخوانی می شود، تمامی صفحات و user controlها برای اولین بار کامپایل می شوند. زمانی که این کامپایل انجام شد، از آن به بعد نرم افزار همیشه سریعتر اجرا می شود. این موضوع وقتی سایت در محیط نهایی قرار گرفت فوق العاده است. اما وقتی هنوز در حال تولید و توسعه نرم افزار هستیم باعث اتلاف وقت زیادی می شود. چون وقتی در حال برنامه نویسی هستیم معمولا فقط یکی دو صفحه، یا چند خط کد تغییر می کنند. پس معمولا فرایند به صورت تغییر چند خط کد، کامپایل، فراخوانی سایت، تست و مجددا تغییر کد برای چندین بار در روز ادامه پیدا می کند. در چنین شرایطی وقتی کامپایل و اجرا دو دقیقه طول بکشد علاوه بر اینکه باعث اتلاف وقت می شود، باعث عدم تمرکز برنامه نویس می شود و معمولا نمی تواند به خوبی به کار خود برسد.

تنظیمات زیر وقتی در حال توسعه نرم افزار هستید باعث می شود اولین اجرای نرم افزار بسیار بسیار سریعتر اتفاق بیفتد و زمان اجرای اولیه را بسیار کاهش می دهد.

<compilation ... batch="false"> ...</compilation>

 همچنین در صورتی که پروژه های شما در .NET 4 نوشته می شوند، می توانید از تنظیمات زیر نیز برای کاهش سرعت کامپایل و استفاده از بهینه سازی هایی برای جلوگیری از کامپایل مجدد استفاده کنید.

<compilation ... optimizeCompilations="true"> ... </compilation>

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

مطمئنا توسعه نرم افزارهای تحت وب پس از این تغییرات بسیار دلپذیرتر می شود.
کامپایل کردن تنها پروژه هایی که تغییر کرده اند

معمولا پس از تعیین dependency tree همه ی پروژه ها بدون توجه به اینکه آیا تغییری در آنها ایجاد شده است یا خیر build می شوند. در چنین شرایطی می توان با مراجعه به منوی build وانتخاب configuration manager زیر build، فقط مواردی که می خواهیم build شوند را علامت بزنیم و علامت باقی موارد را برداریم. همچنین می توانیم برحسب شرایط مختلف configurationهای مختلفی را ایجاد و تعیین کنیم.

منبع : sepidweb.ir

Linkback: http://irmeta.com/meta/b622/t9923/
ما عاشق فهم و ادب ومعرفتیم،
ما خاک قدوم هر چه زیبا صفتیم،
http://math2easy.com


اشتراک گذاری از طریق facebook اشتراک گذاری از طریق linkedin اشتراک گذاری از طریق twitter

xx
ترفندی برای افزایش سرعت ویندوز XP

نویسنده امیر شهباززاده

2 پاسخ ها
1486 مشاهده
آخرين ارسال ۱۰ اسفند ۱۳۸۸ - ۲۲:۳۷:۲۷
توسط امیر شهباززاده
xx
افزایش سرعت هارددیسک‏های SATA در ویندوز ویستا

نویسنده امیر شهباززاده

0 پاسخ ها
1037 مشاهده
آخرين ارسال ۲۹ اردیبهشت ۱۳۸۹ - ۱۰:۳۲:۲۵
توسط امیر شهباززاده
xx
تست سرعت اينترنت

نویسنده kiarash

6 پاسخ ها
2930 مشاهده
آخرين ارسال ۱۲ اردیبهشت ۱۳۹۲ - ۱۸:۰۳:۲۵
توسط کـوکـبـی
xx
آیا سرعت تایپ شما خوب است ؟

نویسنده عباس اردبیلی

0 پاسخ ها
971 مشاهده
آخرين ارسال ۲۸ اردیبهشت ۱۳۹۰ - ۱۰:۵۵:۲۹
توسط عباس اردبیلی
xx
سرعت دانلود و آپلود

نویسنده کـوکـبـی

1 پاسخ ها
1541 مشاهده
آخرين ارسال ۶ اسفند ۱۳۸۹ - ۰۹:۵۱:۰۲
توسط کمال حقیقی
xx
افزايش سرعت اينترنت

نویسنده kasra

0 پاسخ ها
2023 مشاهده
آخرين ارسال ۵ دی ۱۳۸۹ - ۲۳:۱۵:۰۶
توسط kasra
 

anything