TTFB مدت زمانی است که مرورگر مصرف میکند تا به سرور وصل شود. بطور دقیق این معیار، زمان بین ایجاد اتصال به سرور و بارگیری محتوای یک صفحه وب را اندازهگیری میکند. TTFB مخفف time to first byte است و به بیان ساده، اندازه گیری مدت زمانی است که مرورگر باید قبل از دریافت اولین بایت داده از سرور منتظر بماند.
هر چه این عدد بزرگتر باشد، مدت زمان بیشتری طول میکشد تا صفحه برای بازدیدکننده نمایش داده شود. مطمئنا شما هم خوشتان نمیآید زمان زیادی را صرف نگاه کردن به صفحه خالی یک سایت کنید که در تلاش است به سرور وصل شود! پس باید تلاش کنیم تا عدد TTFB در بهینهترین حالت خودش باشد.
TTFB شامل ۳ مرحله است که مجموع زمان لازم برای انجام هر ۳ مرحله، عدد نهایی TTFB را به ما نشان میدهد. این ۳ مرحله به ترتیب عبارتاند از:
مدت زمان ارسال درخواست HTTP
اندازهگیری TTFB با درخواست HTTP شروع میشود. مدت زمانی که برای دریافت درخواست از سرور لازم است، میتواند براساس زمان انجام جستجوی DNS، سرعت شبکه کاربر، فاصله تا سرور و… متغیر باشد. شرکتها هیچ کنترلی بر ارتباط بین کاربر و اینترنت ندارند، اما هرگونه تاخیر همچنان بر TTFB آنها تاثیر میگذارد.
مدت زمات لازم برای پردازش درخواست
وقتی سرور درخواستی را دریافت می کند، باید به این درخواست پاسخ بدهد. این پاسخ شامل شروع فرایندها، برقراری تماس با پایگاه داده، اجرای اسکریپتهای وب و برقراری ارتباط با سایر سیستمهای شبکه است.
استراتژیهای متداولی که معمولا توسط شرکتها برای کاهش TTFB استفاده میشود، شامل ذخیره صفحات وب، بهینهسازی کدهای سمت سرور و بهبود منابع سختافزاری است.
مدت زمان ارسال اولین بایت از سمت سرور به مرورگر
وقتی که سرور پاسخی ایجاد کرد، باید آن را به کاربر منتقل کند. این مرحله، هم به سرعت اتصال سرور و هم به سرعت اتصال کاربر بستگی دارد.
TTFB از لحظهای که کاربر پاسخ را دریافت میکند، یعنی درست زمانی که اولین بایت را میگیرد، محاسبه میشود. انتقال درخواست و پاسخ از طریق شبکه میتواند تقریبا ۴۰ درصد TTFB را تشکیل دهد.
در این مقاله با مطالب زیر آشنا میشوید:
ToggleTTFB چقدر اهمیت دارد؟
TTFB معمولا توسط موتورهای جستجوی وب مانند گوگل و یاهو برای بهبود رتبهبندی جستجو استفاده میشوند؛ چون هر وبسایتی که سریعتر و قبل از سایر وبسایتها بتواند به درخواست شما پاسخ بدهد، بیشتر از سمت کاربران مورد توجه قرار میگیرد و رتبه بهتری دریافت میکند.
با این حال، متخصصین زیادی معتقدند که TTFB به تنهایی معیار چندان مهمی نیست. درست است که وقتی به TTFB به صورت جداگانه به عنوان یک معیار سنجش زمان نمایش سایت نگاه میکنیم، میتواند عامل مهمی تلقی شود؛ ولی زمانی که این گزینه را به همراه سایر معیارها، مخصوصا در رابطه با رتبهبندی سئو و بهبود تجربه کاربری بررسی میکنیم، اهمیت خیلی زیادی ندارد.
بهتر است اینطور بگوییم که اگر بهینه کردن TTFB با بهبود سایر معیارها همراه باشد، میتواند اهمیت زیادی داشته باشد.
بازه زمانی نرمال برای Time To First Byte چقدر است؟
TTFB در محدوده زمانی ms ۲۰۰ تا ms ۵۰۰ طبیعی و مناسب محسوب میشود. اگر TTFB سایت شما به طور مداوم بالاتر از ms ۶۰۰ باشد، باید این موضوع را مورد بررسی قرار دهید.
بهینه سازی TTFB هم به نفع کاربران است و هم به نفع ارائهدهندگان محتوا.
کاربران تجربه بهتری خواهند داشت چون زمان کمتری را برای بازکردن یک صفحه وب صرف میکنند. همانطور که قبلا گفتیم، کاربران تمایلی ندارند تا مدت طولانی در انتظار پاسخگویی سرور بمانند.
شرکتها هم شاهد این خواهند بود که کاربرانشان با آنها تعامل بهتری دارند و زمان بیشتری در سایتشان باقی میمانند. تاخیر یا کندی زمان بارگیری، یکی از دلایل مهمی است که کاربران یک سایت را ترک کرده و دیگر از آن استفاده نمیکنند.
۴ روش برای اندازهگیری TTFB
روشهای مختلفی وجود دارد که با کمک آنها میتوانید میزان دقیق TTFB سایت خود را بسنجید. این روشها شامل موارد زیر هستند:
اندازهگیری با Dev Tools گوگل کروم
یکی از سادهترین راهها برای اندازهگیری TTFB استفاده از Dev Tools گوگل کروم است. با راهاندازی Dev Tools میتوانید TTFB را در گوگل کروم بسنجید. اگر بخواهید با استفاده از کامپیوتر خودتان TTFB را اندازه بگیرید باید به این نکته توجه داشته باشید که تاخیر شبکه و اتصال اینترنت شما میتواند روی عدد به دست آمده تاثیر داشته باشد. برای این کار لازم است مراحل زیر را انجام دهید:
- وارد قسمت منوی گوگل کروم شوید و گزینه More Tools را انتخاب کرده و روی Developer Tools کلیک کنید.
- روی یکی از المنتهای صفحه راست کلیک کنید و گزینه Inspect را انتخاب کنید.
- اگر از کلیدهای میانبر استفاده میکنید، برای ویندوز کلیدهای (Ctrl+Shift+l) و برای مک از کلیدهای (Cmd+Opt+l) استفاده کنید.
در این مرحله میتوانید روی تب Network کلیک کرده و عملکرد سایتتان را مشاهده کنید.
اندازهگیری TTFB با وبسایت Webpage Test
یکی دیگر از روشهای سنجش TTFB استفاده از Webpage Test است. در این سایت، Great time زمان مورد نیاز برای DNS، socket و SSL negotiations + 100 میلی ثانیه است. به ازای هر ۱۰۰ میلی ثانیه یک حرف A کسر می شود.
استفاده از سایت GTMetrix برای اندازهگیری TTFB
سایت GTMetrix به شما امکان میدهد تا با استفاده از لوکیشنهای مختلف بتوانید TTFB سایتتان را بررسی کنید.
اندازهگیری با ابزار performance.sucuri
همچنین ابزارهای مختلف دیگری برای اندازهگیری TTFB مثل performance.sucuri و ByteCheck وجود دارد. آیا میدانستید که حتی Google Analytics هم بخشی برای دیدن میانگین TTFB سایت شما دارد؟ کافی است به این سایت مراجعه کرده روی Behavior > Site Speed > Overview کلیک کنید.
چه مواردی باعث کندی TTFB میشوند؟
یکی از مهمترین دلایل برای TTFB بالا، تولید محتوای پویا است. این مربوط به مدت زمانی میشود که PHP و query پایگاه داده احتیاج دارد تا صفحات وب شما را بسازند. فاکتورهای اصلی در ایجاد کندی TTFB در زمان تولید محتوای پویا، فایلهای بزرگ، queryهای کند یا اضافی پایگاه داده و بارگیری خودکار دادهها است.
روشهای دیگر برای کاهش Time To First Bite در سایت
در اینجا میخواهیم به چند روش برای کاهش Time To First Bite سایت اشاره کنیم.
هاست پر سرعت با کانفیگ بهینه
اگر TTFB شما بیش از ۲۰۰ میلی ثانیه است، امکان دارد شرکت میزبان وب شما مقصر این اتفاق باشد. سرورهای بیش از حد و شبکههای پر ازدحام و خیلی شلوغ میتوانند TTFB را کند کنند. اگر میبینید که سایت شما برای نمایش اولین بایت، زمان زیادی صرف میکند بهتر است موضوع را با شرکت میزبان سایتتان مطرح کنید یا سایتتان را به یک هاست پر سرعت منتقل کنید.
استفاده از CDN مناسب
یک روش آسان دیگر برای کاهش TTFB استفاده از شبکه توزیع محتوا یا Content Delivery Network است که به اختصار CDN خوانده میشود. اگر وب سایتی دارید که در مناطق مختلف کشور یا سراسر جهان به بازدیدکنندگان مختلف خدمات ارائه میدهد، استفاده از CDN مناسب می تواند TTFB شما را به شدت کاهش دهد. همانطور که در بالا گفتیم، موقعیت جغرافیایی در تعیین زمان TTFB بسیار مهم است.
استفاده از کش مناسب در سایت
راه سوم و احتمالا یکی از سادهترین راهها برای کاهش TTFB استفاده از کش مناسب در سایت است. بسیاری از افراد فکر میکنند که کش فقط میتواند به کاهش زمان بارگذاری سایت شما کمک کند، در حالی که علاوه بر این، استفاده از یک کش مناسب باعث میشود تا TTFB به طرز چشمگیری کاهش یابد. استفاده از کش باعث کاهش زمان پردازش سرور میشود.
استفاده از DNS Provider معتبری که رایگان نباشد
نکته مهم دیگر این است که DNS هم در TTFB سایت نقش دارد. محاسبه دقیق میزان تاثیر آن DNS دشوار است، اما شما هنوز هم می توانید زمان DNS lookup را مشاهده کنید. DNS Providerهای سریع و کندتری وجود دارند. با ابزار تست سرعت SolveDNS میتوانید از لوکیشنهای مختلف آن را بسنجید.
بهینهسازی کدها و منابع
کدهای برنامه، یک بخش اساسی در بهینهسازی وبسایت است. اقدامات متعددی در مورد بهینهسازی کدها و منابع به سریعتر شدن TTFB کمک میکنند.
اضافه کردن یک load balancer و کش محتوای استاتیک و پویا، بهروزرسانی نرمافزار نصب شده در وب سرور، استفاده از Reverse Proxy Server برای بالا بردن سرعت برنامهها و ایمنسازی آنها. علاوه بر این، میتوانید دادهها را فشرده کرده و HTTP / 2 را پیاده سازی کنید. همچنین بر عملکرد وب سرور و فعالیتهای آن نظارت کنید تا گلوگاههای احتمالی شناسایی شوند.
بهینهسازی queryهای دیتابیس
برای بهینهسازی queryهای دیتابیس، اول از همه باید ایندکسها را به درستی ایجاد کنید و فقط داده های مورد نیاز خود را بازیابی کنید. این کار کمک میکند تا در هنگام فراخوانی، نیاز به خوانده شدن کل دیتابیس برای پاسخ به query دریافتی نباشد. تا جایی که میتوانید از queryهایی که به هم وابسته هستند استفاده نکنید، چون این وابستگیها باعث افزایش زمان پردازش queryها میشود و کل روند را کند میکند.
بهروز رسانی مداوم
به شکل مرتب بررسی کنید که پارامترهای سمت سرور مثل: وبسرور، زبان سمت سرور و هر چیزی که مربوط به سمت سرور میشود، به آخرین نسخه موجود بهروزرسانی شوند.
بررسی پیوستهی logها
بررسی پیوسته logها هم یکی از راهکارهای کاهش TTFB است. با این بررسی میتوانید خیلی زود از افزایش سربار وبسرور یا دیتابیس مطلع شوید. وقتی ترافیک ارسالی به سمت سرور زیاد شود، ممکن است سرور نتواند این حجم از ترافیک را به درستی مدیریت کند و در نتیجه این اتفاق، مقدار TTFB افزایش مییابد.
سوالات متداول
آیا وردپرس TTFB بالایی دارد؟
نه فقط وردپرس، که همه سیستمهای مدیریت محتوا (CMS) نسبت به سایتهایی که با HTML نوشته شدهاند، TTFB بالاتری دارند. دلیل این موضوع هم این است که سیستمهای مدیریت محتوا باید در لحظه درخواستهای خیلی زیادی را پاسخ بدهند. البته باید به این نکته هم توجه داشته باشد که کاهش TTFB با سرعت هاست رابطه تنگاتنگی دارد. هر چه هاست شما سریعتر باشد، TTFB هم کمتر میشود.
چرا PageSpeed Insights همیشه TTFB مرا بالا اعلام میکند؟
این ابزار برای آی پیهای ایران غیرفعال است ولی میتوانید نتایج آن را روی گوگل سرچ کنسول ببینید. توجه داشته باشید که شاخص واقعی عملکرد سایت شما، زمان بارگذاری آن است نه امتیاز PageSpeed Insights.
توصیه میشود برای بررسی بهتر عملکرد سایتتان ز ابزارهای مختلفی مثل GTMetrix استفاده کنید.
آیا ادغام فایلهای CSS و JS موثر است؟
بله، بدون شک ادغام این فایلها میتواند TTFB سایت شما را کاهش دهد. وقتی مرورگر شما یک فایل CSS ادغام شده با سرعت 1 مگابایت را سریعتر از پنج پرونده CSS با وزن 200 کیلوبایت بارگیری کند، به راحتی متوجه این تفاوت خواهید شد. دلیل این کاهش زمان، ارسال درخواستهای کمتر روی سرور است.
محتوای دینامیک چقدر بر TTFB اثرگذار است؟
یکی از اصلیترین دلایل افزایش TTFB استفاده از محتوای دینامیک است. در واقع چون محتوای سایتهای استاتیک بهطور ثابت در سرور ذخیره میشود و باقی میماند، به محض اینکه درخواستی به سرور فرستاده میشود، پاسخ آن در کوتاهترین زمان فرستاده خواهد شد. اما سایتهای دینامیک برای لود شدن به منابع مختلفی نیاز دارند و این موضوع روی TTFB تاثیر زیادی میگذارد.
منابع:
https://www.keycdn.com/support/what-is-ttfb
https://www.criticalcase.com/blog/how-to-optimize-time-to-first-byte-ttfb