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

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

در این پست، سومین تکنیک از سری آموزش ده تکنیک افزایش سرعت برنامه های تحت وب را در سایت پرووید قرار داده ایم. تکنیک سوم مربوط به حوضچه ی کانکشن ها (Connection Pool) می شود.

ایجاد کردن یک کانکشن به بانک اطلاعاتی در برنامه ی تحت وب شما کاری بسیار وقت گیر است. یکی از موضوع های بسیار جالب در کار با کانکشن ها، استفاده از حوضچه ی کانکشن (Connection Pool) است. ایده ی پشت این تکنیک این است که شما فقط وقتی یک کانکشن جدید ایجاد می کنید که یک کانکشن از قبل وجود نداشته باشد. و هر گاه که عملیات مورد نظرتان با آن تک کانکشن تمام شود، آن را از بین نمی برید بلکه به حوضچه ی کانکشن ها بر میگرداند. کانکشن مورد نظر در حوضچه قرار می گیرد و بسته نمی شود تا در صورت نیاز با سرعت بالا بتواند به کار خود ادامه دهد.

استفاده از این تکنیک یک موضوع مهم دیگر بوجود می آورد و آن هم کانکشن های نشتی (Leaking Connection) است. لطفاً دقت کنید که پس از تمام کارتان با یک کانکشن حتما آن را بصورت صریح Close و سپس Dispose کنید. اغلب افراد بر این باورند که Garbage Collector، نهاتیاً کانکشن شما را بسته و از بین می برد، اما نکته ی مهم در این است که شما نمی دانید این کار چه موقع اتفاق می افتد. پس علی رغم باور اغلب افراد، برای ایمن تر بودن کار خود سعی کنید که در پایان کار خود، کانکشن مورد نظر را به صورت صریح Close و Dispose کنید.

به منظور استفاده از حوضچه ی کانکشن ها به قوانین زیر دقت کنید.

  • حتما از یک connection string یکسان استفاده کنید. پس از ایجاد کانکشن مورد نظر، کار خود را با آن انجام دهید و سپس آن را Close کنید. پس از این، کانکشن به حوضچه بر میگردد. در مرحله های بعدی کانکشن مورد نظر را Open کرده، کار خود را انجام دهید و دوباره آن را Close کنید. انجام این کار به سرعت برنامه صدمه ای نمیزند، اما هیچگاه کانکشن های خود را باز نگه ندارید.
  • در صورتی که از integrated authentication استفاده می کنید، می بایست که از یک thread یکسان برای ایجاد کانکشن ها استفاده کنید.

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

بنابراین، به عنوان سومین تکنیک افزایش سرعت برنامه های تحت وب، سعی کنید از حوضچه ی کانکشن ها استفاده کنید و برای انجام هر درخواست، یک کانکشن جدید را از نو نسازید.

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

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

نظر بدهید

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