Keepalive یک روش اتصال TCP برای HTTP است که با استفاده از آن، دیگر نیازی به اتصال جدید برای هر درخواست نیست. به بیان دیگر، این اتصال پلی ارتباطی میان سرور و مرورگرهاست که با هر درخواست آن میتوان بیشتر از یک فایل را دریافت کرد. فعال سازی Keep Alive از روشهای مختلف، مطمئنا سوال بسیاری از کاربران است و در این مطلب میخواهیم به این موضوع رسیدگی کنیم.
آشنایی با Keepalive
پیش از آشنایی با شیوه فعال سازی Keepalive، بد نیست با تعریف آن آشنا شویم. مرورگر برای این که صفحات سایتتان را به بازدیدکنندهها نشان دهد، نیاز به درخواست فایلها از سرور دارد. مرورگر با استفاده از Keep Alive به جمعآوری فایلهای HTML پرداخته پس از آن سروقت سایر فایلها میرود. اگر برای هر یک از فایلها یک درخواست ارسال گردد، طبیعتا باز شدن صفحه نیز زمان زیادی خواهد گرفت؛ آن هم با توجه به این که یک صفحه وب شامل فایلهای گوناگونی است.
بنابراین، از Keepalive برای صرفهجویی در زمان و رسیدن به نتایج سریعتر استفاده میشود. تحقیقات نشان میدهد در صورت عدم فعال کردن Keep Alive، زمان باز شدن صفحات 50 درصد بیشتر به طول میانجامد. فراموش نکنید سئو نیز اهمیت ویژهای به این قابلیت داده و یکی از امتیازات اساسی برای افزایش آن است. Keep Alive در زبان انگلیسی چنین تعریف می شود
message sent by one device to another to check that the link between the two is operating, or to prevent the link from being broken که به معنای پیامی که توسط یک دستگاه به دستگاه دیگر ارسال می شود تا بررسی شود که پیوند بین این دو کار می کند یا از شکسته شدن پیوند جلوگیری شود است.
نحوه فعال کردن Keepalive در Apache
در صورتی که به فایل تنظیمات آپاچی دسترسی داشته باشید، فعال کردن Keep Alive دشوار نخواهد بود. در ادامه کد قابل اجرا در این فایل را شاهد هستید:
#KeepAlive: با این کد میتوان Keep Alive را فعال و غیرفعال کنید و این یعنی بیشتر از یک درخواست به هر مجوز بدهید. اگر عبارت “Off” را مقابل آن قرار دهید، غیرفعال میشود.
#MaxKeepAliveRequests: این گزینه بیشترین میزان درخواست مجاز در هر اتصال پیاپی را تعیین میکند. اگر به این مقدار صفر بدهید، تعداد درخواستها بی نهایت میشود. کارشناسان توصیه میکنند عدد زیادی را به آن اختصاص دهید تا بیشترین بازدهی ممکن را داشته باشید.
#KeepAliveTimeout: این آیتم تعداد ثانیههای مورد نیاز سرور برای انتظار درخواست بعدی یک کلاینت در همان اتصال را مشخص کرده است.
فعال سازی Keep Alive در NGINX
تنها با استفاده از HTTPS Core Module میتوان نواقص موجود در Keepalive را برطرف کرد. در صورتی که کد “keepalive_disable” را مشاهده کردید، قبل از اقدام برای حذف، مطمئن شوید دلیل غیر فعال بودن Keep Alive چه بوده است. خبر خوب این که انجام این کار ساده بوده و به نقل از کارشناسان، به عنوان یکی از سادهترین روشها برای فعال سازی Keep Alive شناخته میشود.
فعال سازی Keepalive در Litespeed
قابلیت Keepalive به صورت پیشفرض در لایت اسپید فعال است. تنها در صورتی که سرور مورد استفاده شما از قابلیت Keep Alive هوشمند یا همان Smart Keep Alive استفاده کرده باشد، ممکن است آن را غیرفعال ببینید. این قابلیت برای تنظیمات هر چه بهتر برای وبسایتهای حجیم مورد استفاده قرار میگیرد و وقتی فعال باشد، گزینه Keep Alive در ابزار pagespeed را غیرفعال مشاهده خواهید کرد.
Smart Keepalive فایل ابتدایی HTML را با بستن در HTTP Header درخواست میکند. سپس با فایلهای دیگر مانند CSS جاوا اسکریپت و تصاویر درخواست خود را صادر میکند. این روند باعث میشود زمانی که درخواستهای زیاد هم وجود داشته باشد، کاربران بیشتری قادر به اتصال به سرور باشند. برای غیر فعال کردن Keep Alive در محیط ادوین لایت اسپید باید ابتدا به بخش Server و سپس Tuning وارد شده و گزینه Smart Keep Alive را به No تغییر دهید.
نکته مهم این است که تنها در صورتی که سایت پرترافیکی دارید، بد نیست Smart Keep Alive را در تنظیمات لایت اسپید غیرفعال کنید. به محض غیرفعالسازی میتوان از تمام اتصالات و امکانات Keep Alive استفاده کرد. این نکته تنها برای لایت اسپید صدق میکند.
وب سرور لایت اسپید (LiteSpeed) چیست؟
چرا Keepalive استفاده میشود؟
راههای مختلفی وجود دارد که از طریق آنها میتوانید به این مسئله پی ببرید که آیا فعال سازی Keep Alive صورت گرفته است یا نه. البته برخی از آنها نتیجه درستی نداشته و صاحبان سایتها را به اشتباه میاندازند. ابزار پیج اسپید (Pagespeed) یکی از آن مواردی است که به راحتی میتوان آمار فعال بودن Keep Alive را با آن در آورد.
برای این که مرورگر بتواند صفحات سایت شما را در اختیار بازدید کننده نشان دهد، باید فایلها را از وب سرور درخواست نماید. مرورگر در این جا فایل HTML را دریافت کرده و شروع به خواندن میکند. سپس سایر فایلهای معرفی شده توسط آن مانند CSS، تصاویر و جاوا اسکریپت را هم درخواست میکند. صفحات وب شما اغلب مجموعهای از فایلهای گوناگون را شامل میشود. در صورت نیاز به اتصال برای هر یک از این فایلها، آن صفحه به زمان بیشتری برای نمایش نیاز خواهد داشت. در شرایط فعال نبودن Keep Alive، این فرآیند باعث افزایش زمان دانلود شده و منابع سرور را تا حد چشمگیری هدر میدهد.
سخن پایانی
یکی از سوالات کاربران این است که آیا فعال سازی Keepalive به صورت پیشفرض انجام شده یا نه. عدهای تصور میکنند که نباید نگران فعال بودن آن باشند؛ زیرا اتصالات HTTP در این روزها ماندگار است. با وجود این که تصور آنها درست است، اما استثنا هم وجود دارد. برای نمونه افرادی از هاست یا وب سرورهای اشتراکی استفاده میکنند که این کار برای حفظ کارایی سرور صورت میگیرد. به دلیل وجود چندین سایت روی هاست اشتراکی، حتما باید بدانید Keep Alive برای شما فعال است یا نه. همانطور که در مطلب هم گفته شد، Pagespeed راه خوبی برای پی بردن به این نکته است.