shift

زمان رسیدن به اولین بایت (TTFB)

زمان رسیدن به اولین بایت (TTFB)

عاطفه
دسته: تکنولوژی  تگ ها: Time to first byte (TTFB) - an illustrated guide , چگونه TTFB را کنترل کنیم , TTFB چیست , تفاوت TTFB در فایل های استاتیک و دینامیک چیست , TTFB در وردپرس چگونه است

 

TTFB چیست؟

  • مدت‌زمانی که یک مرورگر بعد از درخواست اطلاعات برای دریافت اولین بخش اطلاعات از وب سرور منتظر می‌ماند.
  • TTFB مخفف "Time to First Byte" است.
  • TTFB می‌تواند باعث تأخیر قابل‌توجهی در ارائه صفحه وب شود.
  • TTFB ترکیبی از مسائل سرعت صفحه در شبکه و سرور را نشان می‌دهد.

تأخیر می‌تواند بین زمانی که مرورگر یک درخواست می‌دهد و زمانی که مرورگر پاسخی را دریافت می‌کند اتفاق می‌افتد. این تأخیرها می‌توانند به هم اضافه شوند و TTFB سنجشی است که ما می‌توانیم از آن برای تعیین شدت این تأخیرهای جمعی استفاده کنیم.


چه عواملی باعث کند بودن TTFB می‌شوند؟

عموماً 4 دلیل اصلی برای طولانی بودن زمان TTFB وجود دارد.

  • مسائل شبکه
  • ایجاد محتوای پویا
  • تنظیمات وب سرور
  •  مقدار ترافیک

 

چگونه TTFB را سریع‌تر بسازیم؟

اولین قدم بهینه‌سازی چیزی است که شما می‌توانید کنترلش کنید.
مواردی که می‌توانید کنترل کنید:

  1. ایجاد محتوای پویا
  2. تنظیمات وب سرور

مواردی که شما کنترل کمتری بر روی آن‌ها دارید:

  1. مسائل شبکه
  2. مقدار ترافیک

یک خبر خوب این است که اگر مراقب این موارد باشید می‌توانید این موارد را نیز کنترل کنید و کندی TTFB تا جایی که به این دو مورد اخیر مربوط می‌شود را نیز حل نمایید.


ایجاد محتوای پویا

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

  • وقتی یک مرورگر درخواست یک فایل استاتیک را می‌دهد سرور می‌تواند فورا با فایل پاسخ دهد.
  • وقتی یک مرورگر درخواست یک فایل پویا می‌دهد سرور باید قبل از پاسخ دادن به مرورگر آن فایل را بسازد.

صفحات وردپرس پویا هستند، به این معنی که آن‌ها باید با گرفتن فایل‌های پی اچ پی و ارتباط با یک پایگاه داده ساخته شوند.

به این معنی که صدها و حتی هزارها فعل‌وانفعالات، فقط یک صفحه را می‌سازد. این اتفاق هرزمانی که صفحه به‌وسیله مرورگر فراخوانی می‌شود اتفاق می‌افتد حتی اگر محتوای صفحه تغییر نکند.
این فرآیند که به زمان TTFB تان اضافه می‌کند و بارگذاری صفحات را کندتر می‌سازد (گاهی این فرآیند یک ثانیه یا بیشتر را می‌گیرد).


وردپرس TTFB خاص و آهسته دارد.

راه اصلی برای حل موضوع TTFB برای سایتهای وردپرس این است که نسخه‌های کش شده از صفحاتتان را ارائه بدهند.


ذخیره کردن نسخه‌های استاتیک صفحات وردپرس تان

توضیحاتی که در بالا دادیم هرزمانی که یک صفحه به‌وسیله مرورگر فراخوانی می‌شود اتفاق می‌افتد.
به این فکر کنید که چه اتفاقی می‌افتد اگر ما برای مرورگر که صفحه را فراخوانی می‌کند منتظر نمانیم؟ و پیش‌ازاین نسخه HTML صفحه را بسازیم و برای مرورگر آماده کنیم؟

به این کار ذخیره‌سازی (کش کردن) گفته می‌شود و برای اکثر افراد از طریق یکی از این دو راه انجام می‌شود.

  • نصب پلاگین کش کننده
  • استفاده از هاستینگ وردپرس که کش کردن را فراهم می‌سازد

 

نصب پلاگین کش کننده

برای دریافت پلاگین ذخیره‌سازی W3 Total Cache  یا  WP Super Cache را امتحان کنید و یا فقط در گوگل "wp caching plugins" را جستجو کنید. پلاگین ذخیره‌سازی وردپرس می‌تواند پیچیدگی‌های یادگیری و چندین گزینه پیکربندی داشته باشند اما یک‌بار که آن را اجرا می‌کنید، می‌تواند خیلی مفید باشد.


استفاده از یک‌هاست وردپرس که نسخه های کش شده را تهیه می‌کند.

استفاده از هاست وردپرس باکیفیت می‌تواند مشکل TTFB را با انتقال به آن‌ها حل کند. سعی کنید که از یک سرویس‌دهنده خوب شبیه WP Engine استفاده کنید که به‌صورت اتوماتیک ذخیره‌سازی انجام می‌دهد و شمارا از اشتباهات پیکربندی و دیگر مواردی که ما وب مستران کنجکاو تمایل داریم آن‌ها را انجام بدهیم محافظت می‌کند (شبیه نصب پلاگینی که قاتل سرعت صفحاتتان است).


تنظیمات وب سرور

مورد دیگری که شما باید بر آن را کنترل داشته باشید انتخاب وب سرور است و اینکه آن را چطور آن را پیکربندی کنید. وقتی من می‌گویم وب سرور، من منظورم یک کامپیوتر یا هاست نیست. منظور من نرم‌افزاری است که از آن استفاده می‌شود (Apache, NGINX, IIS, Litespeed) و غیره
من فقط یک مثال از تنظیمات وب سرور را می‌آورم و این رایج‌ترین مسئله نیز است.


فایل.htaccess آپاچی

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

However, in general, use of .htaccess files should be avoided when possible. Any configuration that you would consider putting in a .htaccess file, can just as effectively be made in a <Directory> section in your main server configuration file.

و در ادامه بیان می‌کند که استفاده از htaccess چگونه به وجود آمدن مشکلات عملکردی منجر می‌شود.

- "httpd will look in every directory for .htaccess files. Thus, permitting .htaccess files causes a performance hit, whether or not you actually even use them! Also, the .htaccess file is loaded every time a document is requested.

- "In the case of RewriteRule directives, in .htaccess context these regular expressions must be re-compiled with every request to the directory, whereas in main server configuration context they are compiled once and cached. Additionally, the rules themselves are more complicated, as one must work around the restrictions that come with per-directory context and mod_rewrite."

دو موضوع بالا به‌تنهایی می‌تواند باعث افزایش تأخیر TTFB بشوند.
همچنین اگر ما نقش مهمی که mod rewrite می‌تواند دریک سایت وردپرس معمولی دارد را در نظر بگیریم می‌توانیم تصور کنیم که چقدر می‌تواند بد بشود.
هر چیزی که وب سرورتان استفاده می‌کند مطمئن شوید که آن آخرین ورژن است و شما بهترین شیوه‌ها را دنبال می‌کنید
همیشه نرم‌افزارهایتان را آپدیت کنید زیرابه TTFB تان کمک می‌کند.


PHP

با PHP، مهم است که PHP تان به آخرین نسخه به‌روزرسانی شود زیرا هریک از آخرین به‌روزرسانی‌ها ازنظر عملکرد پیشرفت زیادی کرده است. همان اسکریپت در یک نسخه قدیمی کندتر از نسخه جدید آن اجرا می‌شود.
اکنون، مواردی که ما نمی‌توانیم کنترل کنیم:
در ابتدای این مقاله من به 4 مورد که بر روی TTFB تأثیر می‌گذارد اشاره کردم. مواردی که شما به‌راحتی می‌توانید آن‌ها را کنترل کنید.

  1. ایجاد محتوای پویا
  2. تنظیمات وب سرور

مواردی که کمتر می‌توانید کنترل کنید

  1. مقدار ترافیک
  2. مسائل شبکه

اگر TTFB تان را کاهش دهید، درواقع مسائل مربوط به ترافیک را نیز به‌خوبی کنترل کرده‌اید.


ترافیک

اگر TTFB تان و همه فرآیندهای سرور کند باشد این امربر میزان ترافیک سرور شما تأثیر می‌گذارد.
با بهبود نحوه بکار بردن ایجاد محتوای پویا و تنظیمات وب سرور، قادر خواهید بود میزان ترافیک بیشتری با سخت‌افزارهای فعلی کنترل نمایید.


میانگین TTFB چیست؟

تعیین یک عدد دقیق برای این موضوع دشوار است چراکه سناریوهای مختلفی وجود دارد؛ اما بحث اصلی برای یک وب‌سایت مدرن با فرض اینکه شما صفحات آن را از همان منطقه جغرافیایی که‌هاست شده است مشاهده نمایید:

  • کمتر از 100 میلی‌ثانیه عالی است.
  • 200 میلی‌ثانیه ایده آل است.
  • 500 میلی‌ثانیه ایده آل نیست.
  • 1 ثانیه بد است.
  • 2 ثانیه یا بیشتر خیلی بد است.

به‌عنوان یک مرجع، Google.com 100 میلی‌ثانیه TTFB دارد. صفحه‌ای که شما در حال خواندن آن هستید 150 میلی‌ثانیه TTFB دارد. گوگل بیان کرده است که زمان پاسخ‌گویی وب سرور باید 200 میلی‌ثانیه یا کمتر باشد.

مسعود زمانی
۱۳۹۷-۰۹-۱۲

عرض سلام و وقت بخیر بنده حدودا دو هفته هست که دارم با مشکل TTFB بالا سایتم کلنجار میرم . هر راهی که بگید تست کردم از نصب افزونه های مختلف تا تغییرات فایل htaccess تغییر هاست و ... ولی متاسفانه تایم TTFBسایت خیلی خیلی بالاست . لطفا اگر امکان داره کمکم کنید . آدرس سایت : https://www.fakherleather.com

نظر خود را بنویسید...
ارسال نظر
لغو