۲۸ آبان ۱۳۹۶ ساعت: ۸:۲۸
خانه > دانش و فناوری > رايانه > keep alive چیست؟ و چگونه آن را فعال کنیم؟

keep alive چیست؟ و چگونه آن را فعال کنیم؟

دنیای اطلاعات: یکی از فاکتورهای اصلی و غیرقابل اغماض در بررسی سئوی یک هاست Keep-Alive است که اگر هاست شما این قابلیت را نداشته باشد تا ۵۰ درصد سرعت سایت شما دستخوش تغییر قرار می گیرد (بسته به تعداد اجزای صفحه شما)
Keep-Alive از تنظیمات سرور آپاچی تبعیت می کند و به طور خلاصه وظیفه آن حفظ و پایداری خط اتصال است، یعنی بعد از درخواست یک صفحه توسط مرورگر از هاست سرور php تا مدت زمان از قبل تعیین شده ای به اتصال اینترنتی خاتمه نخواهد داد و به درخواست های بعدی گوش خواهد داد.

کیپ آلایو

شاید باورتان نشود که این امکان به تنهایی تا ۵۰ درصد باعث افزایش سرعت در تاخیر به پاسخ سرور منجر خواهد شد. این قابلیت از آپاچی ۱٫۱ به سرور php اضافه شد و تنها از طریق پیکربندی آپاچی قابل تغییر است.
keep-alive دو تنظیم دارد:
۱- max-requests که تعداد در خواست قابل قبول است (بطور پیش فرض در آپاچی ۵ است که خیلی کم است)
۲- Timeout که زمانی است که انتظار سر می رسد و بطور پیش فرض ۱۵ ثانیه است.

کاربردهای keep-alive

قبل از هرچیز مرورگر شما باید درکی از این قابلیت داشته باشد امکانی که در مرورگرهای مبتنی بر ویندوز ۹۵ وجود نداشت اما الان تقریبا تمام مرورگرها از آن پشتیبانی می کنند.
از پیش شرطهای استفاده از keep-alive این است که طول فایل معلوم باشد بنابراین در فایلهای دینامیکی CGI استفاده از آن نهی شده است و فرض بر این است که مدیر سایت این را می داند.
Apache یکی از پرکاربردترین وب سرورها می باشد. از این رو دانستن نحوه به کارگیری و تنظیمات Apache در استفاده بهینه از منابع یک دانش اجباری برای مدیران سرورها می باشد. بهینه سازی Apache‌ همواره به ایجاد تعادلی در استفاده از منابع منجر می شود.

تنظیمات Keep-Alive چیست؟

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

مزایای استفاده از Keep-Alive

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

keep_alive
مقایسه keep-alive فعال و keep-alive غیر فعال

معایب استفاده از Keep-Alive

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

چه زمانی Keep-Alive را فعال کنیم؟

فعال یا غیر فعال کردن Keep-Alive به چند عامل بستگی دارد:

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

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

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

انجام تنظیمات KeepAlive

در فایل مربوط به تنظیمات Apache‌ که در CentOS‌ معمولا در /etc/httpd/conf با نام httpd.conf قرار دارد. به موارد زیر توجه کنید:

KeepAlive: برای فعال و غیر فعال کردن Keep-Alive
MaxKeepAliveRequests: بیشترین تعداد درخواست در هر ارتباط که معمولا بین ۵۰ تا ۷۰ است.
KeepAliveTimeout: زمانی که ارتباط برای دریافت درخواست های جدید باز میماند. ۱۵ ثانیه زمان بسیار زیادی است. عددی بین ۱ تا ۵ ثانیه میتواند مناسب و از مصرف زیاد RAM نیز جلوگیری کند.

پاسخ دهید

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