شماره تماس 09336863931 | 09178169907 پست الکترونیک provid.ir@gmail.com

ده تکنیک افزایش سرعت برنامه های تحت وب #4

در این پست، چهارمین تکنیک از سری آموزش ده تکنیک افزایش سرعت برنامه های تحت وب را در سایت پرووید قرار داده ایم. تکنیک چهارم مربوط به کش کردن داده ها در برنامه های ASP.NET می شود.

یکی از مهمترین کارها قبل از نوشتن حتی یک خط کد، فکر کردن در رابطه با معماری برنامه ی مورد نظر است. با استفاده از کش کردن داده ها (Data Caching) به طور قابل ملاحظه ای می توان سرعت کار را بالا برد. بسیاری از کارهای تکراری یا کارهایی که مرتباً تکرار می شوند می توانند کش شوند. در ادامه بعضی از قانون های کش کردن داده ها را بیان می کنیم.

  • اولین و مهمترین قانون این است که اگر داده ای می تواند بیش از یک بار مورد استفاده قرار بگیرد، می توان آن را کش کرد.
  • اگر داده ای بصورت عمومی مورد استفاده قرار می گیرد و ربطی به یک کاربر خاص و یا یک تقاضای خاص ندارد می تواند مورد کش کردن قرار بگیرد.
  • داده های خاص نیز می توانند کش شوند به شرطی که طول عمر آنها طولانی باشد و مدت زمانی زیادی در برنامه ی شما مورد استفاده قرار بگیرند.

با این وجود، اغلب برنامه های تحت وب با ASP.NET دچار مشکل کمبود حافظه (Out of memory) می شوند. دلیل این موضوع کش کردن بیش از حد داده ها است. بنابراین، باید دقت کنید که داده های برنامه را بیش از حد مورد کش کردن قرار ندهید.

یکی از باورهای اشتباه این است که کارایی کدهای ویژوال بیسیک دات نت از سی شارپ دات نت بیشتر است. این موضوع اصلاً صحت ندارد. البته باید توجه کرد که با رعایت نکردن قوانین درست برنامه نویسی می توان در عملکرد یک برنامه چه با زبان سی شارپ چه ویژوال بیسیک و یا هر زبان دیگر مشکلاتی را ایجاد کرد. اما در رابطه با ویژوال بیسیک می توان با انجام تکنیک هایی از قبیل تعریف نکردن صریح نوع متغیرها کارایی را بالا برد. اما به طور کلی دقت کنید که هیچ برتری قابل توجه ای از نظر سرعت بین دو زبان سی شارپ و ویژوال بیسیک نیست.

یکی دیگر از موضوع هایی که اغلب برنامه نویسان به آن فکر می کنند در این است که سرعت کار برنامه هایی که به صورت code behind نوشته شده اند اغلب بیش از برنامه هایی است که به صورت inline کد نویسی شده اند. این موضوع هر چند در روند توسعه ی برنامه تفاوت ها و برتری هایی را ایجاد می کند اما از نظر سرعت اسمبلی نهایی هیچ تفاوتی را ایجاد نمی کند.

در پایان کار به دو ویژگی جالب از کش در ASP.NET اشاره می کنیم:

  • به صورت خودکار، سیستم کش در ASP.NET داده هایی که مدت زیادی مورد استفاده قرار نگرفته اند را حذف می کند. این موضوع در شرایطی که سیستم با کمبود حافظه مواجه است بسیار مفید می باشد.
  • سیستم کش در ASP.NET از مکانیزم منسوخ شدن داده ها (Expiration Dependency) استفاده می کند. به عبارت دیگر، داده های کش بر اساس رخ دادن اتفاقی برای یک فایل، یک کلید و یا سر رسید یک زمان از کش خارج می شوند.

بنابراین، به عنوان چهارمین تکنیک افزایش سرعت برنامه های تحت وب، سعی کنید از سیستم کش ASP.NET استفاده نکنید. البته همانطور که گفته شد انجام بیش از حد این موضوع باعث رخ دادن خطای out of memory می شود.

دانلود رایگان آموزش “10 اشتباه خطرناک در ساخت برنامه های تحت وب”

به منظور دریافت لینک دانلود در ایمیل خود، فرم زیر را کامل کنید.[email-download download_id=”1″ contact_form_id=”10461″]

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *