wait please
شکیبا باشید
صفحه اصلی آرشیو اخبار و مقالات طراحی سایت KeepAlive چیست؟

KeepAlive چیست؟

KeepAlive چیست؟

در پروتکل HTTP برای انتقال چندین فایل جلسه (Session) تشکیل نمی شود. از این رو برای انتقال هر فایل یک ارتباط جدید بین مرورگر و سرور ایجاد و بعد از تکمیل انتقال بسته میشود. این مکانیزم بسیار ساده اما غیر بهینه است. برای بهبود کارایی تنظیمات KeepAlive معرفی شده است. به وسیله KeepAlive مرورگر و سرور توافق میکنند برای انتقال چندین فایل از یک ارتباط (connection) استفاده کنند.

Apache یکی از پرکاربردترین وب سرورها می باشد. از این رو دانستن نحوه به کارگیری و تنظیمات Apache در استفاده بهینه از منابع یک دانش اجباری برای مدیران سرورها می باشد. بهینه سازی Apache‌ همواره به ایجاد تعادلی در استفاده از منابع منجر می شود.

تنظیمات KeepAlive چیست؟
در پروتکل HTTP برای انتقال چندین فایل جلسه (Session) تشکیل نمی شود. از این رو برای انتقال هر فایل یک ارتباط جدید بین مرورگر و سرور ایجاد و بعد از تکمیل انتقال بسته میشود. این مکانیزم بسیار ساده اما غیر بهینه است.
برای بهبود کارایی تنظیمات KeepAlive معرفی شده است. به وسیله KeepAlive مرورگر و سرور توافق میکنند برای انتقال چندین فایل از یک ارتباط (connection) استفاده کنند.

مزایای استفاده از KeepAlive
بهبود سرعت وبسایت: کاهش سربار ناشی از ایجاد و خاتمه ارتباط ها. تصور کنید تعداد فایل های لازم برای یک یک صفحه وب شامل فایل های تصویر، فایل های CSS ، فایل های JS‌ و حتی خود صفحه میتواند به ده ها فایل برسد. با فعال کردن KeepAlive بجای ایجاد و خاتمه ده ها ارتباط از یک ارتباط استفاده می شود.
کاهش مصرف پردازنده: ایجاد و خاتمه ارتباط ها برای سرور یک فرآیند مصرف کننده زمان پردازنده است. لذا کاهش تعداد این فرآیند به یک بار میتواند صرفه جویی زیادی داشته باشد.

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

چه زمانی KeepAlive را فعال کنیم؟
فعال یا غیر فعال کردن KeepAlive به چند عامل بستگی دارد:
منابع سرور: چقدر RAM‌ در مقایسه با CPU در اختیار دارید؟ معمولا RAM یکی از گلوگاه های سرور است. مادامی که سرور ارتباط را برای انتقال فایل های دیگر باز نگه میدارد از RAM استفاده میکند. از طرفی به دلیل کاهش سربار ناشی از ایجاد و خاتمه ارتباط ها مصرف پردازنده کاهش پیدا میکند. لذا زمانی CPU‌ کم و RAM زیاد داریم میتوانیم KeepAlive را فعال کنیم.
نوع وبسایت: در صورتی که وبسایت شما در هر صفحه تعداد زیادی تصویر و فایل ای دیگر را نمایش میدهد. ایجاد تنها یک ارتباط برای انتقال این فایل ها میتواند مفید باشد.
ترافیک سایت: در صورتی که ترافیک سایت به صورت تقریبا مساوی در طول روز پخش است. لذا میتوان KeepAlive را فعال کرد. اما در صورتی که ممکن است ناگهان تعداد درخواست های زیادی روی سرور بیاید بهتر است برای جلوگیری از کمبود RAM‌ آن را غیر فعال کنیم.

انجام تنظیمات KeepAlive:
در فایل مربوط به تنظیمات Apache‌ که در CentOS‌ معمولا در /etc/httpd/conf با نام httpd.conf قرار دارد. به موارد زیر توجه کنید:
KeepAlive: برای فعال و غیر فعال کردن KeepAlive
MaxKeepAliveRequests: بیشترین تعداد درخواست در هر ارتباط که معمولا بین ۵۰ تا ۷۰ است.

KeepAliveTimeout: زمانی که ارتباط برای دریافت درخواست های جدید باز میماند. ۱۵ ثانیه زمان بسیار زیادی است. عددی بین ۱ تا ۵ ثانیه میتواند مناسب و از مصرف زیاد RAM نیز جلوگیری کند.