ttfb چیست

ttfb مخفف (Time to First Byte) می باشد که یک معیار اساسی برای اندازه گیری مدت زمان لحظه ارسال HTTP Request از مرورگر بهسمت سرور، تا دریافت نخستین بایت دادهها از سرور میباشد.
چرا اندازهگیری ttfb به همراه موارد زیر مهم است:
- Time To First Byte چیست؟
- ttfb خوب چیست؟
- نحوه اندازهگیری TTFB
- نحوه کاهش TTFB
ttfb چیست؟
هنگامی که کاربر سعی میکند از یک صفحه از سایتی را ببیند، مرورگر او یک درخواست HTTP به سمت سرور ارسال میکند. سروری که سایت را میزبانی میکند باید آن درخواست را پردازش کند و در کوتاه ترین زمان پاسخی را برگرداند.

Time to First Byte (TTFB) مدت زمانی را که مرورگر طول میکشد تا پاسخ اولین بایت را از سرور دریافت کند را اندازهگیری میکند.
هرچه پردازش درخواست و ارسال پاسخ توسط سرور بیشتر طول بکشد، مرورگر شما کندتر صفحه را به کاربر نمایش میدهد.
یک تصور غلط رایج در مورد TTFB این است که همان زمان پاسخگویی سرور است. این دو اصطلاح را میبینید که حتی در برخی از ابزارهای تست سرعت محبوب به جای یکدیگر استفاده میشوند:
با این حال، Server Response Time سرعت پاسخدهی سرور را اندازهگیری میکند، اما سرعت پاسخدهی به مشتری را اندازهگیری نمیکند. تأخیر شبکه را در اندازهگیری خود لحاظ نمیکند، که عاملی است که بر تجربه واقعی کاربر تأثیر میگذارد.
از سوی دیگر، TTFB کل فرایند را از ابتدا تا انتها اندازهگیری میکند:

با این حال، Server Response Time سرعت پاسخدهی سرور را اندازهگیری میکند، اما سرعت پاسخدهی به مشتری را اندازهگیری نمیکند. تأخیر شبکه را در اندازه گیری خود لحاظ نمی کند، که عاملی است که بر تجربه واقعی کاربر تأثیر می گذارد.
TTFB کل فرایند را از ابتدا تا انتها اندازهگیری میکند:
۱. مدت زمانی که طول میکشد تا درخواست به سرور برسد

هنگامی که شخصی از وب سایت شما بازدید میکند، مرورگر او یک درخواست HTTP را به سرور شما ارسال میکند. در این مرحله اول، تعدادی از عوامل میتوانند باعث تأخیر شوند – جستجوی DNS کند، فاصله فیزیکی و سرعت اینترنت مشتری.
۲. مدت زمانی که سرور برای پردازش درخواست نیاز دارد

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

پس از انجام همه کارها، سرور باید پاسخ را برای مشتری ارسال کند. علت اصلی تأخیر در اینجا سرعت پایین شبکه سرور و مشتری است.
به دلیل اندازهگیری کامل، TTFB ایده بهتری از تجربه کاربر از نظر زمان درخواست-پاسخ ارائه میدهد.

آیا TTFB معیاری است که ارزش تمرکز روی آن را دارد؟
همیشه نظرات متناقضی در مورد اهمیت این معیار وجود داشتهاست.
قبلاً اشاره کردم که جوامع سئو و عملکرد وب در مورد TTFB تقسیم شده بودند (و احتمالاً هنوز هم هستند).
در آن زمان، دو مورد از مشهورترین اظهارات در مورد این موضوع توسط جان گراهام-کامینگ از Cloudflare و جسی نیکل از LittleBizzy بیان شد:

احتمالاً تنها زمانی که TTFB مفید است به عنوان یک روند است. و بهتر است در خود سرور اندازهگیری شود تا تأخیر شبکه از بین برود.
با بررسی یک روند، میتوان متوجه شد که آیا مشکلی در وب سرور وجود دارد (مانند بارگذاری بیش از حد آن). اندازهگیری TTFB از راه دور به این معنی است که همزمان تأخیر شبکه را نیز اندازهگیری میکنید که چیزی را که TTFB در واقع اندازهگیری میکند پنهان میکند: سرعت وب سرور قادر است به یک درخواست پاسخ دهد. – جان گراهام-کامینگ، کلودفلر.

TTFB بی معناست. بی معنی است زیرا معیاری است که کاملاً به محیط منحصر به فرد هر کاربر نهایی بستگی دارد. بی معنی است زیرا در 99٪ مواقع برای توصیف چیزی که در واقع TTFB نیست استفاده می شود.
بیمعنی است زیرا، در واقعیت، عمدتاً از عناصر شبکهای تشکیل شده است که خارج از کنترل کاربر نهایی، طراح وب و مدیر سرور به طور یکسان است.» – جسی نیکلز، لیتل بیزی.
با توجه به این نقل قولها، مشکل TTFB این است که به محیط منحصر به فرد هر کاربر بستگی دارد. در حالی که درست است، این یک ویژگی است، نه یک اشکال.
درک اینکه افراد مختلف چگونه سایت شما را تجربه میکنند بسیار مهم است اگر میخواهید تجربه سریعی را برای همه تضمین کنید. به همین دلیل است که اندازهگیری TTFB در دستگاههای مختلف و در مناطق مختلف میتواند بسیار مفید باشد.
و در حالی که ما نمیتوانیم اتصالات شبکه کاربران خود را کنترل کنیم، میتوانیم زندگی آنها را بسیار آسانتر کنیم. در اینجا چیزی است که CTO ما در مورد این موضوع میگوید:

بهطور خلاصه، TTFB میتواند به شما بینشی دربارهٔ نحوه تجربه کاربران در دستگاههای کندتر یا اتصالات شبکه به سایت شما بدهد. این چیزی است که آن را به یک معیار ارزشمند تبدیل میکند.
زمان مناسب برای TTFB چیست؟
قبل از ادامه فهرست ابزارهای اندازه گیری TTFB، بیایید معیارهایی را که باید هدفشان را هدف قرار دهید، تعیین کنیم.
- هر چیزی کمتر از 200 میلی ثانیه یک TTFB خوب در نظر گرفته می شود. محدوده 200 تا 500 میلیثانیه بسیار متوسط است، مخصوصاً برای محتوای پویا.
- هر چیزی حدود 600 میلیثانیه یا بیشتر معمولاً به یک مشکل در سمت سرور اشاره میکند، بهخصوص اگر TTFB از مکانهای نزدیک به سرور بالا باشد.

نحوه اندازهگیری TTFB
ابزارهای زیادی وجود دارد که میتوانید برای اندازهگیری TTFB از آنها استفاده کنید. با این حال، به خاطر داشته باشید که هر یک میتواند امتیاز کمی متفاوت به شما بدهد (به دلیل عوامل مختلفی مانند روش تست، محل تست و غیره). به یکی به عنوان پایه پایبند باشید و با بقیه آزمایش کنید.
- Chrome DevTools
- KeyCDN
- WebPageTest
- GTmetrix
چگونه TTFB را کاهش دهیم
شما میدانید که چگونه TTFB را اندازهگیری کنید، اکنون اجازه دهید چند تکنیک را بررسی کنیم که به شما در کاهش آن کمک میکند.
به یک سرور میزبان سریع تکیه کنید
اولین قدم برای بهبود TTFB، تکیه بر یک ارائه دهنده خدمات مدیریت شده (MSP) با کیفیت بالا و یک سرور میزبان سریع است.
با این حال، بسیاری از مالکان تصمیم میگیرند با یک سرویس میزبانی مشترک استفاده کنند. در حالی که ارزانتر است، با این نوع هاست، منابع سرور خود (CPU، پهنای باند، حافظه) را با سایر وب سایتها به اشتراک میگذارید.
این میتواند زمان پاسخگویی را کاهش دهد، بنابراین سرمایهگذاری در یک سرویس میزبانی اختصاصی را در نظر بگیرید.
مواردی که باید هنگام ارتقا/انتخاب هاستینگ خود به دنبال آن باشید، دسترسی بالا، امنیت و پشتیبانی است.
انتخاب پلاگین و پوسته مناسب:
تعداد پلاگینهای شخص ثالث را کاهش دهید و یک تم سریع انتخاب کنید (برای وردپرس و سایر سایتهای CMS)
کتابخانه های شخص ثالث به زمان پاسخگویی آسیب جدی وارد میکنند.
این وسوسه انگیز است که ویژگی های زیادی به سایت خود اضافه کنید و از یک تم با عناصر پویا استفاده کنید. به خصوص وقتی هزاران گزینه در دسترس باشد. با این حال، اضافه کردن تعداد زیاد افزونه ها و استفاده از یک تم سنگین، مقدار کدی را که باید اجرا شود افزایش می دهد و در نتیجه سرعت صفحه کاهش می یابد.
این یک مشکل رایج هنگام کار با سیستم های مدیریت محتوا مانند WordPress یا Shopify است.
به همین دلیل ضروری است که یک تم سبک انتخاب کنید و هر افزونه یا برنامه را قبل از نصب بررسی کنید. اگر سرعت صفحه پس از افزودن یک افزونه جدید ضربه خورد، شاید بهتر باشد گزینه دیگری را انتخاب کنید. در بسیاری از موارد، عملکرد اضافه شده ارزش سربار سرور عظیم را ندارد.
پیادهسازی لایههای کش
یکی از سادهترین راهها برای کاهش TTFB و بهطور کلی افزایش سرعت وب سایت، راه اندازی یک لایه کش است.
ذخیرهسازی به معنای ذخیره یک نسخه از منابع یک سایت در مکانی متفاوت از سرور اصلی است. پس از کش، نیازی نیست که منابع هر بار دوباره از سرور بارگیری شوند. این منجر به بارگذاری سریعتر و سربار کمتر سرور میشود.
دو تکنیک کش محبوب عبارتند از: کش کردن تمام صفحه و کش کردن شی.
کش کامل صفحه به این معنی است که کل HTML صفحه ذخیره میشود. درخواستهای بعدی برای صفحه به جای پردازش و بازسازی مجدد، از حافظه پنهان ارائه میشوند و در نتیجه زمان پاسخدهی را تسریع میکنند.
کش اشیاء به ذخیره پرس و جوهای پایگاه داده اشاره دارد که منجر به بازیابی سریعتر دادهها از پایگاه داده میشود.
میتوانید کش را با دست از طریق هدرهای HTTP سرور خود تنظیم کنید یا از سرویسی مانند NitroPack استفاده کنید تا فرایند را برای شما انجام دهد.
استفاده از شبکه تحویل محتوا (CDN)
یک CDN از تعدادی سرور توزیع شده جغرافیایی در نقاط مختلف حضور (PoP) در سراسر جهان تشکیل شدهاست.
به زبان ساده:
یک CDN به شما کمک میکند تا مشکل تأخیر شبکه ناشی از فاصله فیزیکی زیاد بین مشتری و سرور را بهبود بخشید.

به عنوان مثال، فرض کنید سرور اصلی شما در ایالات متحده آمریکا واقع شده است، اما اکثر مشتریان شما از هند هستند. با CDN، منابع خاص شما یا حتی کل صفحات را می توان از نزدیکترین سرور به آنها، به جای مبدا در ایالات متحده، ارائه کرد.

این امر تأثیر فاصله فیزیکی را کاهش میدهد و سرعت وب سایت شما را افزایش میدهد.
از فشرده سازی (Compression) استفاده کنید
فشرده سازی منابع سایت شما قبل از ارسال آنها به مرورگر زمان انتقال را به شدت کاهش می دهد زیرا فایل ها بسیار کوچکتر هستند.
فشردهسازی کد به استفاده از الگوریتمهایی برای بازنویسی کد باینری فایلها، با استفاده از بیتهای کمتر از نسخه اصلی اشاره دارد.
کد ها معمولاً دارای فضای خالی، comment ها و متن تکراری زیادی هستند که همگی عناصر غیر ضروری می باشد که حذف آنها زمان بارگذاری سایت شما را کاهش میدهند.
وقتی نوبت به اجرای این بهینهسازیها میرسد، برخی از ارائهدهندگان هاست بهطور پیشفرض آنها را اعمال میکنند، بنابراین ارزش آن را دارد که با ارائهدهنده خود چک کنید.
علاوه بر این، می توانید از سرویسی مانند نت افراز استفاده کنید که می تواند تغییرات لازم را برای شما ایجاد کند.
تصاویر سایت خود را بهینه کنید
آیا می دانستید که حدود 50 درصد از کل بایت های یک صفحه متوسط، مربوط به تصویر هستند؟
استفاده از تکنیکهای مختلف بهینهسازی تصویر راه دیگری برای کاهش حجم دادههایی است که باید منتقل شوند و در نتیجه سرعت پاسخدهی را افزایش میدهند.
فشرده سازی تصویر یکی از روش هایی است که می تواند حجم فایل های تصویری را کاهش دهد. دو نوع فشرده سازی وجود دارد:
فشرده سازی Lossy برخی از داده ها را از فایل اصلی حذف می کند. این امر باعث می شود که فایل ها در ازای کیفیت بسیار سبک تر شوند. JPEG و GIF نمونه هایی از انواع تصاویر با اتلاف هستند.
فشردهسازی بدون اتلاف با حذف ابردادههای غیرضروری از فایلها، تقریباً همان کیفیت تصویر را حفظ میکند. در حالی که کیفیت تصویر تا حد زیادی تحت تاثیر قرار نمی گیرد، اندازه فایل تصویر نیز کاهش نمی یابد. RAW، BMP و PNG همگی فرمت های تصویر بدون اتلاف هستند.
ابزارهای فشرده سازی تصویر، مانند Optimizilla و imagemin، می توانند به شما در کاهش اندازه فایل های تصویر کمک کنند.
تکنیک دیگری که می توانید از آن بهره مند شوید استفاده از فرمت های تصویر نسل بعدی مانند JPEG 2000، JPEG XR، AVIF و WebP است.
تفاوت آنها با فرمت های تصویر شناخته شده در این است که ویژگی های فشرده سازی و کیفیت بهتری دارند.
به زبان ساده:
آنها از نظر اندازه کوچکتر هستند و در عین حال سطح کیفیت قابل مقایسه ای را با فرمت های قدیمی حفظ می کنند.
در حال حاضر، WebP تنها فرمت مدرنی است که بیشتر مرورگر ها مانند کروم، فایرفاکس و… پشتیبانی می کند.
نتیجه گیری
چه مردم آن را دوست داشته باشند یا نه، TTFB نقش خود را در عملکرد وب ایفا می کند.
بدون شک، برخی از متغیرها وجود دارند که بر TTFB تأثیر میگذارند، اما این موضوع آن را بیمعنی نمیکند، زیرا به ما بینشی در مورد نحوه تجربه کاربران واقعی از سایت ما میدهد. و این همان چیزی است که می خواهید در مورد بهینه سازی عملکرد وب روی آن تمرکز کنید.
ممکن است نتوانید محیط منحصر به فرد هر کاربر را تغییر دهید، اما میتوانید برخی از تکنیکهای بهینهسازی را پیادهسازی کنید که تأخیر شبکه را بهبود میبخشد.
منبع:
nitropack.io
دیدگاهتان را بنویسید