سرعت سایت، بیشتر از آنچه فکرش را بکنید اهمیت دارد. سایتهای سریع، هم برای کاربران جذاب هستند و هم میتوانند رضایت موتورهای جستوجو را جلب کنند.
در این مقاله میخواهیم ببینیم TTFB چیست. یکی از پارامترهای مرتبط با سرعت سایت که اندازهگیری و بهینهسازی آن، برای بهتر کردن عملکرد سایت ضروری است؛ پس همراه ما باشید که قرار است تمام زیروبم این موضوع را کندوکاو کنیم.
این تعریف را از TTFB داشته باشید تا برسیم به باقی جوانب مرتبط با آن.
TTFB چیست؟
عبارت TTFB مخفف Time to First Byte است؛ در واقع، با پارامتری طرف هستیم که زمان بین ارسال درخواست (برای دسترسی به منبعی مشخص) توسط بازدیدکننده تا رسیدن اولین بایت از پاسخ را اندازه میگیرد؛ پس به بیانی دیگر، این پارامتر یک شاخصۀ مهم برای سنجش سرعت سرور به حساب میآید.
سازوکار وجودی این پارامتر را میتوانیم به سفارش دادن یک پیتزا از فستفود سرکوچه تشبیه کنیم. بعد از اینکه با آنها تماس گرفتید (یا از طریق اپلیکیشن سفارش خود را ثبت کردید)، مدتی طول میکشد تا اولین قدم برای آمادهسازی پیتزای شما برداشته شود. این فاصلۀ زمانی همان TTFB است!
وقتی به عمق ماجرا میرویم، میبینیم TTFB شامل برقراری اتصال، ارسال درخواست HTTP و شروع به دریافت پاسخ میشود. از آنجایی که این پارامتر بهطور مستقیم چگونگی عملکرد را نشان میدهد، اندازهگیری TTFB هم از اهمیت زیادی برخوردار است. قاعدتاً، هرچقدر عدد این متریک کمتر باشد، حاکی از وضعیت بهتری است؛ چون یعنی سرعت در شرایط خوبی قرار دارد و بازدیدکننده نباید برای رسیدن به خواستۀ خود خیلی صبر کند و معطل بماند؛
عوامل زیر میتوانند بهصورت مستقیم روی عدد TTFB اثرگذار باشند:
- بار سرور یا Server Load: طبیعتاً سروری که زیر فشار شدید باشد، به زمان بیشتری برای ارائۀ پاسخ هم نیاز خواهد داشت.
- چگونگی عملکرد دیتابیس یا Database Performance: ضعف در ساختار و پیکربندی دیتابیس به بالا رفتن عدد TTFB منجر خواهد شد.
- تأخیر در شبکه یا Network Latency: فاصلۀ بین دستگاه بازدیدکننده تا سرور، در زمان لازم برای طی مسیر پاسخ اثرگذار است و میتواند روی TTFB اثر بگذارد.
- پیکربندی سرور یا Server Configuration: پیکربندی نادرست سرور میتواند روی زمان TTFB اثر منفی بگذارد.
حالا که فهمیدید TTFB چیست، بیایید با نگاهی موشکافانهتر، چگونگی تأثیرگذاری آن بر سرعت سایت را بررسی کنیم.
تأثیر TTFB بر سرعت سایت به چه صورتی است؟
TTFB (زمان دریافت اولین بایت) یکی از پارامترهای کلیدی برای نشان دادن سرعت سایت است و بهینهسازی آن اهمیت زیادی دارد. اگر TTFB زیاد باشد، سرعت کلی بارگذاری سایت تحت تأثیر قرار میگیرد و مشکلاتی مانند برداشت منفی کاربران از سرعت سایت، افت رتبه در نتایج جستوجو، افزایش نرخ پرش و آسیب به تجربه کاربری رخ میدهد. حتی در شرایطی که سرعت کلی سایت خوب باشد، TTFB بالا میتواند به این مشکلات منجر شود.
برای اطلاع بیشتر از نحوه بررسی سرعت سایت، این مقاله را بخوانید: کندی سرعت سایت و راه کار های رفع آن |
در بخش بعدی، میفهمیم که چه عددی برای TTFB خوب به حساب میآید.
بازه زمانی نرمال برای TTFB چقدر است؟
واحد اندازهگیری TTFB میلیثانیه (ms) است؛ یعنی وقتی گفته میشود TTFB فلان سایت 1ms است، یعنی بعد از ارسال درخواست توسط کاربر، تنها 1 میلیثانیه طول میکشد تا اولین بایت پاسخ از جانب وبسرور به مرورگر او ارسال شود. البته چنین عددی کاملاً رویایی است و تقریباً در هیچجایی دیده نمیشود!
تصویر زیر را ببینید:
مشخص است که اگر TTFB زیر 800ms باشد، سایت در وضعیت خوبی است؛ یعنی هر عددی زیر 800 جزو TTFB ایدئال محسوب میشود. بازۀ میانی، یعنی TTFB بین 800ms تا 1800ms هم بد نیست، ولی خب جا برای بهتر شدن دارد؛ منتهی اگر عدد این پارامتر کلیدی بیشتر از 1800ms بود، یعنی اوضاع خراب است و صاحب سایت باید بلافاصله چارهای برای این وضعیت بحرانی بیندیشد.
متخصصان امر میگویند حداقل 75 درصد بازدیدکنندگان باید اولین بایت را زیر 800ms دریافت کنند. البته لازم است این را هم بگوییم که TTFB جزو پارامترهای Core Web Vitals به حساب نمیآید؛ پس توصیه میکنیم برای بهتر کردن وضعیت سئو سایت و افزایش سرعت، اول سراغ بهینهسازی شاخصهای CVW بروید و بعد به فکر کاهش TTFB باشید.
و اما اینکه اندازهگیری TTFB به چه صورتی است.
روشها و ابزارهای مختلف اندازهگیری TTFB
طبیعی است که بهصورت دستی و چشمی نمیتوانیم این پارامتر را برای سایتهای مختلف اندازه بگیریم؛ پس به ابزارهایی نیاز خواهیم داشت که در این راستا به کمکمان بیایند و عدد TTFB را در گزارشهایشان نشان دهند.
در این بخش، 4 ابزار کاربردی برای این منظور را معرفی میکنیم و طرز استفاده از آنها را هم یاد خواهیم داد.
اندازهگیری TTFB با استفاده از Google PageSpeed Insights
همانطور که از نام این پلتفرم برمیآید، با ابزاری طرفیم که محصول گوگل است و میتواند اطلاعات ارزشمندی راجعبه سرعت هر سایت در اختیارمان قرار دهد. فقط کافی است به آدرس pagespeed.web.dev بروید و در فیلدی که بالای صفحه میبینید، URL مد نظر خود را بنویسید. با کلیک رو دکمۀ آبیرنگ Analyze، ابزار کارش را شروع خواهد کرد.
کمی بعد، ریز جزئیات تحلیل را میبینید که در بین آنها، عدد TTFB هم خودنمایی میکند.
اندازهگیری TTFB با استفاده از GTMetrix
این ابزار هم در بین ایرانیها کاملاً شناختهشده است و میتواند اطلاعات مفید و بهدردبخوری دربارۀ عملکرد سایت در اختیارتان قرار دهد. بهخاطر اهمیت TTFB در بهینهسازی وبسایت، عدد این پارامتر هم در گزارش GTMetrix دیده میشود.
بعد از ورود به سایت این پلتفرم با آدرس gtmetrix.com، آدرس URL صفحۀ مد نظر را در فیلدی که به چشم میخورد بنویسید و روی دکمۀ Test Now کلیک کنید.
سپس GTMetrix کارش را شروع میکند و تمام چندوچون URL واردشده را زیر ذرهبین میبرد؛ از جمله عدد TTFB.
اندازهگیری TTFB با استفاده از WebPageTest
یک ابزار دیگر که در سنجش عملکرد سایت مفید فایده است و کاربردهای دیگری هم دارد؛ منتهی همانطور که میدانید، ما میخواهیم ببینیم روش اندازهگیری TTFB چیست.
به آدرس webpagetest.org بروید. صفحه را کمی به پایین اسکرول کنید تا به فیلد بزرگ آن برسید. در آن فیلد، URL صفحهای که میخواهید TTFB را برای آن اندازه بگیرید، بنویسید. زیر همین فیلد چند گزینه برای دقیقتر کردن تست وجود دارد که بسته به ترجیحات خود، میتوانید آنها را تغییر دهید. در نهایت، روی دکمۀ زردرنگ Start Test کلیک کنید.
در زمانی کوتاه، گزارشی مفصل را خواهید دید که اگر کمی پایینتر بیایید، عدد TTFB هم در آن مشخص شده است.
اندازهگیری TTFB با استفاده از DevTools
DevTools ابزار دیگری از گوگل است که به مرورگر کروم اضافه میشود و از این طریق، اطلاعات لازم دربارۀ پارامترهای مختلف، مثل TTFB را در اختیار کاربر قرار میدهد. بعد از نصب آن روی کروم و وارد کردن URL صفحۀ مد نظر، باید منتظر گزارش ابزار بمانید.
در گزارش مفصلی که دریافت میکنید، به تب Timing بروید تا اطلاعات جامع و کاملی از این پارامتر به دست بیاورید.
حالا میدانید راه اندازهگیری TTFB چیست و با کاربردیترین ابزارها برای این منظور آشنا شدید. اگر موافق باشید، در بخش بعدی ببینیم چه چیزهایی باعث افزایش عدد این پارامتر میشوند و وضعیت سایت را به قهقرا میبرند.
بررسی عوامل کندی TTFB
شمایی که تا اینجای مقاله همراه ما بودهاید، میدانید عدد TTFB هرچقدر بالاتر باشد، بدتر است! در بخشهای نخستین مقاله، به برخی عواملی که این عدد را بالا میبرند پرداختیم. حالا میخواهیم در بخشی جداگانه، چند عامل مهم و تأثیرگذار دیگر را هم بررسی کنیم تا اطلاعات بیشتری در این رابطه به دست بیاورید.
- زنجیرۀ طولانی ریدایرکتها
سرعت ریدایرکت (انتقال کاربر به آدرسی دیگر) میتواند تحت تأثیر عوامل مختلفی پایین بیاید. یکی از این عوامل، طولانی شدن زنجیره است؛ یعنی وقتی صفحۀ A را به صفحۀ B، صفحۀ B را به صفحۀ C، صفحۀ C را به صفحۀ D و… ریدایرکت میکنید، این طولانی شدن میتواند به ضرر سرعت TTFB و کلاً عملکرد سایت منجر شود.
پس وقتی ریدایرکتها قطاری پشتسرهم قرار میگیرند، زمان نسبتاً طولانیای لازم است تا وبسرور بتواند مبدأ اصلی درخواست HTTP را تشخیص دهد و اولین بایت از پاسخ را به آنجا بفرستد. به بیان سادهتر، TTFB زیاد میشود.
- مشکلات مرتبط با اتصال به اینترنت
کندی اینترنت و مشکلات مرتبط با اتصال به اینترنت میتواند یکی از اصلیترین عوامل کندی TTFB باشد. برای نمونه، DNS lookup کند (که معمولاً بر روی تجربۀ آنهایی که برای اولین بار وارد سایت میشوند اثرگذار است)، یکی از مشکلات ناشی از اتصال ضعیف محسوب میشود.
همچنین، قطعیهای مربوط به گواهی SSL و مشکلاتی که در طرف دیتاسنتر وجود دارند (مخصوصاً وقتی دیتاسنتر درگیر تعداد زیادی اتصال است) هم میتوانند به کندی TTFB منجر شوند.
- کمبود منابع سرور
احتمالاً ضعیف بودن سرور، اصلیترین دلیلی است که باعث میشود هنگام اندازهگیری TTFB با عددی بالا مواجه شویم. ضعف و کمبود منابع در سرور اصلی، یعنی مدیریت درخواست HTTP رسیده از مرورگر کاربر، نیازمند زمانی طولانی است و فرستادن اولین بایت از پاسخ هم زمانبر خواهد بود.
در چنین شرایطی، باید ریشۀ مشکل را در هاستی که برای سایت تهیه کردهاید جستوجو کنید. اگر منابع (مثل CPU و RAM) در سرور محدود باشند، طبیعتاً امکان ارائۀ بهترین خدمات بهمنظور افزایش سرعت سایت هم وجود نخواهد داشت. مثلاً اگر به هر دلیلی سراغ هاست اشتراکی رفته باشید، نباید از کندی TTFB متعجب شوید؛ چون همانطور که میدانید، در این نوع سرویسهای میزبانی، منابع بین چندین کاربر (که هرکدام از سایت خود روی همان سرور میزبانی میکنند) تقسیم میشود؛ این یعنی هاست نمیتواند منابع کافی را به پردازش درخواستهای رسیده به سایت شما اختصاص دهد.
ضمناً، گاهی هم ممکن است منابع سرور قدیمی و ازردهخارج باشند. مثلاً اگر بهجای بهرهگیری از فضاهای ذخیرهسازی جدید مثل NVMe، سرور با HDDهای قدیمی کار کند، طبیعتاً توان آن هم پایین میآید و این باعث افت عملکرد سایت (بهطور مشخص کندی TTFB ) خواهد شد.
این 3 مورد را بگذارید کنار مواردی مثل بار سرور و تأخیر در شبکه که بالاتر راجعبه آنها صحبت کردیم. همۀ اینها میتوانند بهنوبۀ خود روی افزایش و کندی این پارامتر اثرگذار باشند.
در نگاه اول، اینطور به نظر میرسد که برای کاهش TTFB باید فکری برای این عوامل مخرب کرد. این تفکر تا حدی درست است. اصلاً بیایید در بخش بعدی، نگاهی بیندازیم به راهکارهای بهینهسازی وبسایت با کم کردن عدد TTFB.
روشهای کاربردی کاهش TTFB در سایت
خوشبختانه راهکارها و تکنیکهای بسیاری وجود دارند که میتوانند در پایین آوردن عدد این پارامتر کمکتان کنند. در این بخش، چند مورد از کاربردیترینهای آنها را بررسی خواهیم کرد.
- بهکارگیری Cache Layer
منظور این است که از تمام محتویات سایت کش بگیرید (کپی گرفتن) و از آنها در شبکههای توزیع محتوا (CDN) نگهداری کنید. بعد از انجام این کار، سرور اصلی هربار و برای هر درخواست درگیر نمیشود و اینطوری، بار روی دوش آن بیش از حد زیاد نخواهد شد.
آپدیت مداوم کش یا همان محتوای کپیشده، خیالتان را راحت میکند که بازدیدکنندگان همواره به آخرین نسخه از سایت دسترسی دارند؛ بدون اینکه قرار باشد فشار سنگینی به سرور اصلی وارد شود.
- استفاده از CDN
استفاده از CDN برای سایت میتواند به روشهای مختلف، تأثیر مثبت خودش را روی کاهش TTFB نشان دهد. چنین شبکههایی، با ذخیرهسازی محتویات سایت روی سرورهای گوناگون در نقاط جغرافیایی مختلف، فاصلهای که دادهها لازم است طی کنند تا به مرورگر بازدیدکننده برسند را کاهش میدهند.
میدانیم که فاصلۀ فیزیکی روی سرعت تأثیر بهسزایی دارد و کاهش آن برابر است با کم شدن عدد TTFB. ضمناً، استفاده از CDN هم میتواند بار سنگینی از دوش سرور اصلی بردارد و منابع آن را برای انجام کارهای دیگر آزاد کند.
- بهینهسازی کدهای وبسایت
یکی از مهمترین اقدامات در راستای بهینهسازی وبسایت، بهینهسازی کدهای تشکیلدهندۀ آن است. TTFB بهطور خاص، وابستگی خیلی زیادی به تمیز و بهینه بودن کدها دارد! به بیانی دیگر، اگر کدها خیلی خوب نباشند، TTFB هم افزایش پیدا خواهد کرد.
برای این منظور، توصیه میکنیم CSSها و JavaScrpitهای اضافی را به یک فایل واحد تبدیل کنید. علاوهبر این، بهروزرسانی مداوم نرمافزار وبسرور هم میتواند روی بهتر کردن وضعیت TTFB تأثیر مثبت بگذارد.
- زیر نظر داشتن بار سرور
همانطور که گفتیم، اگر سرور زیر فشار سنگینی باشد، ممکن است منابعی که مسئول پاسخدهی هستند درگیر باشند و نتوانند بهموقع کارشان را انجام دهند؛ در نتیجه، عدد TTFB بالا میرود.
برای جلوگیری از چنین اتفاقی، میتوانید با استفاده از ابزارهای مخصوص، وضعیت سرور را بهصورت لحظهای مانیتور کنید و برای زمانهایی که ترافیک بیشتر میشود، سازوکار خاصی تعیین کنید. ضمناً، استفاده از Load Balancer هم میتواند در چنین شرایطی کاربردی باشد.
- بهروزرسانی CMS، افزونهها و قالبها
آپدیت و بهروز نگه داشتن سیستم مدیریت محتوا، همراه با افزونهها و قالبهایی که روی آن نصب شدهاند، عملکرد ایدئال و بینقص را تضمین میکند؛ این یعنی شاهد کاهش TTFB هم خواهید بود.
در واقع، باید بگوییم بهروزرسانی چنین چیزهایی، از اقدامات ضروری برای بهینهسازی سرعت TTFB هستند.
- سرویس گرفتن از هاستینگ معتبر
بالاتر هم گفتیم که در برخی مواقع، سرویس میزبانی بهخاطر مشکلاتی که دارد، عامل اصلی عدد بالای TTFB به حساب میآید. برای اینکه زیربنای خوبی برای سایتتان بسازید، بهتر است از همان ابتدا سراغ ارائهدهندهای بروید که از بهروزترین سرورها (چه سختافزاری و چه نرمافزاری) برای خدمات دادن به مشتریانش بهره میگیرد.
در بخش بعدی، به چند سؤال رایج در رابطه با این موضوع پاسخ میدهیم و کمکم مقاله را به پایان میبریم.
سؤالات پرتکرار دربارۀ پارامتر TTFB
اینها رایجترین پرسشهایی هستند که پیرامون موضوع این مقاله مطرح میشوند و در اینجا میخواهیم به آنها جواب بدهیم.
- عدد ایدئال برای TTFB چقدر است؟
اگر TTFB زیر 800 میلیثانیه باشد، شرایط عالی است؛ اعداد یبن 800 تا 1800 میلیثانیه هم قابل قبول هستند، ولی خب نشان میدهند که در بعضی جاها وضعیت باید بهتر شود. هر عددی بالاتر از 1800 میلیثانیه بیانگر وضعیت نامناسب است و باید خیلی سریع به آن رسیدگی کرد.
- اندازهگیری TTFB به چه صورتی است؟
بیشتر ابزارهای سنجش عملکرد سایت، در گزارشهای خود عدد TTFB را هم لحاظ میکنند. منظور ابزارهایی است مثل Google PageSpeed Insights ،GTMetrix و WebPageTest.
- راه کاهش TTFB چیست؟
انجام برخی اقدامات مثل استفاده از CDN، مانیتور دائمی بار سرور، بهینهسازی کدهای تشکیلدهندۀ وبسایت و…، اقدامات مؤثری هستند که میتوانند عدد TTFB را پایین بیاورند.
کاهش TTFB = بهبود تجربۀ کاربری بازدیدکنندگان
فهمیدیم TTFB پارامتری است که سرعت رسیدن اولین بایت از پاسخ سرور، بعد از دریافت درخواست HTTP از مرورگر کاربر را اندازه میگیرد. هرچقدر عدد جلوی این پارامتر کمتر باشد، یعنی سایت سریعتر است و میتواند تجربۀ خوشایندتری را برای بازدیدکنندگان رقم بزند.
از آنجایی که میخواستیم موضوع را از جوانب مختلف بررسی کنیم، راجعبه مسائلی مثل رنج ایدئال آن، راههای کاهش، نحوۀ اندازهگیری و عواملی که باعث کندی TTFB میشوند هم صحبت کردیم.
امیدواریم آنقدری این مقاله برایتان مفید بوده باشد که لینک آن را برای دوستانتان هم بفرستید و در انتشار حداکثری آن به ما کمک کنید.