آموزش های وردپرس

آموزش رفع خطای Enable Keep Alive در GTmetrix

یکی از خطاهایی که هنگام تست سرعت سایت با GTmetrix بیشتر به چشم میخوره با نام Enable Keep Alive هست. این قابلیت  مربوط به تعداد درخواست‌ها از سرور برای لود فایل‌ها و داده‌ها از سایت هست. این قابلیت با عنوان keep alive شناخته شده که در این بخش به توضیح اینکه keep alive چیست و چطور میتونیم keep alive را در سایت فعال کنیم خواهم پرداخت. این قابلیت به مرورگر اجازه میدهد تا به صورت همزمان بتواند بیش از یک فایل را از سمت سرور دریافت کند. به عبارت دیگه وقتی آدرس صفحه سایتی رو باز می‌کنید و فایل‌های CSS، جاوا اسکریپت، تصاویر و… شروع به لود شدن می‌کنند تا بعد از لود کامل ظاهر یک سایت و محتویاتش به شما نشون داده بشه، فعال بودن keep alive این امکان رو میده که همه این فایل‌ها به صورت همزمان شروع به لود بکنند. نه اینکه لازم باشه مثلا در یک مرحله فایل‌های css به نوبت لود بشن، در مرحله بعد تصاویر و به همین ترتیب پیش بره تا سایتی کامل بالا بیاد.

در این آموزش از پایگاه دانش میزبان‌فا قصد دارم به نحوه فعال کردن keep alive در سایت بپردازم که با فعال سازی این قابلیت اگر با مشکل Enable Keep Alive در GTmetrix مواجه شده باشید به راحتی و با اضافه کردن یک قطعه کد کوتاه میتونید مشکلتون رو برطرف کنید.

آموزش رفع خطای Enable Keep Alive

وقتی به تب waterfall مراجعه کنید مشابه تصویر زیر داده‌هایی رو میبینید که هر فایلی که در سایت لود میشه رو مشخص کرده که چه مقدار زمان برای لود هر کدوم مورد نیاز هست.

نحوه رفع خطای Enable Keep Alive و افزایش سرعت سایت

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

Keep-Alive چیست؟

در صورت فعال نبودن قابلیت Keep-Alive در سایت فایل‌های CSS، جاوا اسکریپت، html و… به صوت جدا از هم لود خواهند شد. یعنی وقتی شما سایتی رو وارد می‌کنید ابتدا اون صفحه در حالت HTML شروع به دریافت در پس زمینه مرورگر میکنه و بعد آدرس‌هایی که داخل این صفحه html وجود داره و شامل فایل‌های css و js میشه یک به یک بررسی شده و در هر بار که به آدرس یکی از این فایل‌ها برسه یک درخواست برای لود هر کدوم به سرور ارسال خواهد شد. در این صورت اگر چندین فایل وجود داشته باشه و از طرف دیگه به خاطر بازدید همزمان بالا این درخواست‌ها مدام از طرف کاربرها به سرور ارسال بشه، سایت با کندی مواجه میشه. چرا که باید همه این درخواست‌ها تک به تک بررسی شده و پاسخ مناسب بهشون داده بشه. تصویر زیر زمانی رخ میده که این قابلیت فعال نشده باشه.

نحوه رفع خطای Enable Keep Alive و افزایش سرعت سایت

اما وقتی قابلیت Keep-Alive فعال باشه همه فایل‌ها css و js در دو درخواست جدا از هم از سرور خواسته میشه و یکباره شروع به دریافت در یک خط زمانی خواهند کرد. پس در این صورت کاهش تعداد درخواست در سایت ایجاد شده و باعث افزایش سرعت سایت و رفع کندی در سایت خواهد شد. که در تصویر زیر نمونه‌ای از فعال بودن keep alive رو مشاهده می‌کنید.

نحوه رفع خطای Enable Keep Alive و افزایش سرعت سایت

فعال کردن Keep Alive از htaccess.

حالا برای اینکه این قابلیت رو در وردپرس فعال کنید کافیه کد زیر را در انتهای فایل htaccess. هاست خودتون قرار داده و ذخیره کنید تا قابلیت Keep Alive در سایت فعال بشه و همه فایل‌های css، js، تصاویر و… در یک بار درخواست از سرور شروع به دریافت شدن بکنند. برای این منظور وارد هاست خودتون شده و روی گزینه File Manager کلیک کنید.

نحوه رفع خطای Enable Keep Alive و افزایش سرعت سایت

سپس در مسیری که وردپرس نصب شده به دنبال فایل htaccess. بگردید و روی فایل راست کلیک کرده و گزینه Edit رو انتخاب کنید. در نهایت کدهای زیر رو کپی کرده و به انتهای فایل اضافه کنید.

<IfModule mod_headers.c>
Header set Connection keep-alive
</IfModule>

بعد از ذخیره کردن فایل قابلیت keep alive در سایت فعال میشه و باعث میشه که فایل‌های سایت شما به صورت همزمان شروع به دریافت از سمت سرور بکنند که این کار باعث لود سریعتر و افزایش سرعت سایت خواهد شد.

فعال کردن Keep Alive در سرور آپاچی

در صورتی که به سرور دسترسی دارید و از نوع آپاچی است می‌توانید از کد زیر استفاده کنید.

#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On

#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100

#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 100
امیدوارم که این آموزش هم مورد توجه و پسند شما قرار گرفته باشه و با استفاده از اون تونسته باشید اقدام به رفع خطای Enable Keep Alive در جی تی متریکس بکنید. در صورتی که در رابطه با این آموزش سوال یا مشکلی داشتید در بخش دیدگاه‌ها اعلام کنید.
1.9/5 - (14 امتیاز)

علی یزدان پرست

حدود 8 سالی هست که در زمینه میزبانی وب به صورت تخصصی فعالیت می کند و علاقه زیادی به کسب تجربه در زمینه بازاریابی اینترنتی و تجارت الکترونیک دارد، علی یک کارآفرین خستگی ناپذیر است و با انرژی حیرت انگیزی تمام قسمت های میزبان فا را توسعه می دهد، علی به سبک حرفه ای و انحصاری خود زندگی می کند و خط فکری خاصی را همیشه دنبال می کند، او رفتار هایی کاملا متفاوت نسبت به سایر مدیرانی که تا به حال دیده اید دارد...

‫۱۰ دیدگاه ها

  1. سلام با تشکر از مطالب مفیدتون
    مطابق توضیحاتتون کدهای مربوطه را در فایل htaccess قرار دادم و به درستی ذخیره شد اما GTmetrix همچنان خطای enable keep alive میده . لطفا در صورت امکان راهنمایی کنید.

  2. سلام وققتون بخیر
    من یک سایت وردپرسی دارم که روت اصلیه هاسته و کد مربوطرو در داخل htaccess قرار دادم و برای سایت وردپرسیه من درست شد این مشکل.
    همینطور من یک انجمن هم در یک فولدر دارم که ipboard هستش ولی برای انجمن این اررور رفع نشده، حتی این کدو در یک htaccess در روت انجمن هم اضافه کردم بازم اررور رفع نشد.
    چطور میتونم این خطای keep alive برای انجمنی که با ipboard در یک فوادر ساخته ام هم درسته بشه.
    با تشکر

  3. سلام . وقت بخیر . سرور من آپاچی هست و بعد از قرار دادن کد، بازم ارور کیپ الایو رو دارم. دلیلش چی هست؟

  4. سلام وقت بخیر. من کد کیپ الایو رو توی htaccess قرار دادم ولی همچنان سایت جی تی متریکس ارور میده. سرور من آپاچی هست و ارائه دهنده ی سرور گفت برای همه فعالش کرده این قابلیت رو

دیدگاهتان را بنویسید

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