کاهش TTFB به منظور بهبود بارگذاری صفحات وردپرس
نحوه کاهش TTFB به منظور بهبود بارگذاری صفحات وردپرس
یکی از دغدغه های کاربران کاهش زمان TTFP و افزایش سرعت سایت است، اما سوال این است که چطور زمان TTFB را کاهش دهیم و سرعت بارگزاری اطلاعات سایت را افزایش دهیم؟
در این آموزش با روش های کاهش زمان TTFB برای افزایش سرعت سایت آشنا خواهیم شد.
وقتی صحبت از سرعت سایت وردپرسی می شود، اغلب بر روی عملکرد بخش front-end و بهینه سازی های مربوطه به آن برای بهبود سرعت بارگذاری صفحه تمرکز می کنیم. با این حال ، گاهی اوقات بهتر است که آن را از سمت سرور (server-side)، جایی که وب سایت شما در ابتدا شروع به بارگیری می کند، بررسی کنید. امروز ما می خواهیم به این موضوع بپردازیم که چگونه TTFB (زمان دریافت اولین بایت) بر سرعت بارگزاری وب سایت شما تأثیر می گذارد و چند راه ساده برای بهبود آن را معرفی خواهیم کرد. در عمل معمولا فاکتور TTFB نادیده گرفته می شود ، اما شما می بایست آن را هنگام تست سرعت سایت خود مورد توجه قرار دهید.
- TTFB چیست؟
- آیا TTFB مهم است؟
- چگونه TTFB خود را اندازه گیری کنیم
- 4 راه برای کاهش TTFB در سایت وردپرس خود
TTFB چیست؟
TTFB مخفف زمان اولین بایت است. به بیان ساده تر ، این یک اندازه گیری از مدت زمان انتظار مرورگر است تا اولین بایت داده خود را از سرور دریافت کند. TTFB نشان میدهد که Load اولین بایت از هر صفحه وب به چه مدت زمان نیاز دارد؛ بنابراین، TTFB راهی برای اندازهگیری سرعت صفحه وب است.
هرقدر زمان دستیابی به این داده ها طولانی تر باشد، نمایش سایت بر روی صفحه نمایش شما طولانی تر خواهد بود. یک اشتباه رایج این است که TTFB پس از زمان مورد نیاز برای جستحوی DNS محاسبه می شود،درحالیکه، تمامی تاخیرهای شبکه ای در محاسبه TTFB نقش دارند. این محاسبه شامل یک فرآیند 3 مرحله ای است و تأخیرها و کندی ها می توانند در هر نقطه ای اتفاق بیفتند که به کل TTFB شما اضافه می شود. کاهش TTFB به افزایش سرعت سایت کمک خواهد کرد.
TTFB چه چیزی را نمایش میدهد؟
- زمان پاسخگویی سرور
- زمان انتقال بایت ها (زمان تأخیر در طول مسیر)
زمان پاسخگویی سرور: این مدت زمانی طول می کشد که سرور شما پاسخی را تولید کند و آن را دوباره ارسال کند. این پارامترها براحتی قابل کنترل و مدیریت هستند.
زمان پاسخگویی سرور شما باید زیر 200ms باشد.
دلایل این موضوع می توانید موارد زیر باشد:
- کوئری های کند دیتابیس سایت ( Slow queries)
- کمبود منابع سرور
- المان های بسیار کند frameworks/libraries/dependencies
- سخت افزار ضعیف
زمان انتقال بایت ها: بسته به مکانی که سرور در آنجا قرار دارد و به چه نوع و سرعت ارتباطی، TTFB متفاوت خواهد بود ، بسته به سرعت زیرساخت های شما و سرعت ارتباطی بین سرورها و شبکه سرعت انتقال اطلاعات میتواند کاهش پیدا کند، پس اگر سرور شما در ایران قرار دارد انتظار TTFB مناسب در تمام زمان ها را نداشته باشید. راه سرعت بخشیدن به مشکل، کوتاه کردن فاصله فیزکی سرور است. اینجاست که CDN وارد می شود و به این ترتیب می توانید این بخش را بهبود بخشید.
1. درخواست به سرور
هنگامی که شخصی به وب سایت شما مراجعه می کند ، اولین چیزی که اتفاق می افتد این است که یک درخواست HTTP از مشتری (مرورگر) به سرور ارسال می شود. در این مرحله عوامل مختلفی وجود دارد که می توانند تأخیر را ایجاد کنند. زمان جستجوی کند DNS می تواند به افزایش زمان درخواست کمک کند. اگر سرور از نظر جغرافیایی بسیار دور قرار داشته باشد ، می تواند تاخیری را در مسافتی که داده ها باید طی کنند ایجاد کند. همچنین، قوانین پیچیده در فایروال نیز، این می تواند زمان مسیریابی را افزایش دهد و البته سرعت اینترنت مشتری را نیز فراموش نکنید.
2. پردازش سرور
پس از ارسال درخواست، سرور مجبور است آن را پردازش کرده و پاسخی را ایجاد کند. این موضوع می تواند چندین تاخیر مختلف از قبیل فراخوانی های پایگاه داده کند، اجرای بیش از حد اسکریپت های واسط (3rd party)، عدم کش نمودن اولین پاسخ به درخواست، کدها و قالبهای بهینه نشده وردپرس و منابع ناکارآمد سرور مانند خواندن-نوشتن بر روی هارد (I/O) یا حافظه را ایجاد کند.
3. پاسخ به مشتری
پس از پردازش درخواست توسط سرور، میبایست آن را به مشتری ارسال کند ( و یا اولین بایت را ارسال کند). این امر به شدت وابسته به سرعت شبکه سرور و مشتری می باشد. اگر مشتری از یک ایترنت بیسیم با سرعت پایین اسنفاده کند، در TTFB بازتاب خواهد یافت.
آیا TTFB مهم است؟
درک این نکته مهم است که TTFB معدل سرعت وب سایت نیست. در عمل یک سنجش برای پاسخگویی است. در مورد اهمیت TTFB در سراسر اینترنت بحث های زیادی وجود دارد. برخی می گویند TTFB بی معنی است (Cloudflare ، LittleBizzy) ، و برخی دیگر می گویند که بسیار مهم است (ایلیا گریوریک ، مهندس عملکرد وب در گوگل). هر دو گروه نکات معتبری را در مورد مهم بودن و یا نبون TTFB و نیز سؤالاتی را درباره چگونگی محاسبه آن ارائه می دهند.
موز(Moz) حتی یک مطالعه عمیق درباره همبستگی بین رتبه بندی موتورهای جستجو و TTFB انجام داد. با این حال، به سختی می توان نتیجه گرفت که آیا TTFB باعث بهتر دیده شدن در موتورهای جستحو شده و یا اینکه سایتهایی که دارای TTFB پایین تر هستند سریعتر بودند، که در نتیجه می تواند تحت تأثیر عامل رتبه بندی صفحه Google باشد.
با این حال، به جای صرف وقت بیشتر بر روی مهم بودن یا نبودن این مسئله، ما ترجیح می دهیم به بیان بهینه سازی هایی برای بهبود این متریک بپردازیم. به طور کلی هر عملی که انجام می دهید می تواند به سرعت سایت وردپرس شما کمک کند و این به نوبه خود بر TTFB نیز تأثیر گذار خواهد بود. در تستهای ما سایت های با TTFB بالاتر کندتر بارگزاری شدند پس میتوان نتیجه گرفت کاهش زمان TTFB به افزایش سرعت سایت کمک خواهد کرد!
به طور کلی ، هر زمانی زیر 100 میلی ثانیه برای TTFB عالی و خوب محسوب می شود. Google PageSpeed Insights برای زمان پاسخگویی سرورها زیر 200 میلی ثانیه را توصیه می کند. اگر در محدوده 300-500 ms هستید ، این بسیار استاندارد است. و اگر TTFB بیش از 600 میلی ثانیه است، ممکن است اشکالاتی در پیکربندی سرور داشته و یا ممکن است زمان ارتقا به زیرساخت وب بهتر می باشد. یا توصیه هایی که در ادامه بیان میشود را به منظور کاهش TTFB دنبال کنید. همچنین توجه داشته باشید که SSL / TLS نیز می تواند در کندی TTFB موثر باشد.
چگونه TTFB خود را بسنجیم؟
روش های مختلفی وجود دارد که می توانید TTFB را آزمایش کنید. در این مقاله دو مورد را بررسی خواهیم کرد. اما به یاد داشته باشید ، نتایج هر ابزار ممکن است کمی متفاوت باشد، بنابراین مهم است که از ابتدا تا انتهای بررسی ها از یک ابزار برای بررسی سایت خود استفاده کنید.
بررسی TTFB با Google Chrome DevTools
می توانید TTFB را با فعالسازی DevTools در Google Chrome اندازه گیری کنید. در نظر داشته باشید اگر بخواهید تست ها را از رایانه شخصی خود انجام دهید ، TTFB تحت تأثیر تأخیر شبکه و اتصال اینترنت شما قرار خواهد گرفت. بنابراین استفاده از ابزار های واسط (برخی در ادامه ادامه مشاهده می شود) موثرتر میباشد زیرا تست ها را از مراکز داده (data centers) انجام می دهند.
نحوه فعال سازی developer tools در مرورگر chrome :
- Select More Tools > Developer Tools from the Chrome Menu (or press F12)
- Select Network
- Click on name file (for example: index file) and view Timing Tab.
می توانید ستون network را انتخاب کنید و عملکرد سایت خود را مشاهده کنید.
4 راه برای کاهش TTFB در سایت های وردپرسی
در ادامه به بررسی چند روش برای کاهش TTFB در سایت های وردپرسی می پردازیم.
1. از هاست سریع وردپرس استفاده کنید
سرورستاپ ارائه دهنده سرویس ابری وردپرس با نام نیترو، سرویس پیشرفته برپایه تکنولوژی کلود به همراه سیستم cache هوشمند را پیاده سازی کرده است. ServerSetup همچنین از شبکه خصوصی پلتفرم Cloud در کلیه هاست های خود استفاده می کند که منجر به افزایش سرعت می شود. برای کسب اطلاعات بیشتر پیرامون هاست ابری وردپرس سرورستاپ مقاله “هاست پرسرعت نیترو چیست؟” را مطالعه کنید.
بنابراین به سادگی با استفاده از میزبان سریعتر ، ما شاهد کاهش 20٪ TTFB در سطح جهان هستیم. داشتن یک هاست خوب وردپرس با معماری به دقت مهندسی شده برای پایین آوردن TTFB شما بسیار مهم است. همچنین انتخاب دقیق مکان فیزیکی سرور بصورتیکه حتی الامکان نزدیک به بازدیدکنندگان شما باشد بسیار حائز اهمیت است. اگر بیشتر مشتریان شما در ایران هستند ، سرور خود را در اروپا میزبان نکنید (اگرچه CDN می تواند به نفی برخی از این موارد کمک کند).
2. استفاده از CDN
راه آسان دیگر برای کاهش TTFB استفاده از شبکه تحویل محتوا (CDN) است. اگر وب سایتی دارید که در مناطق مختلف کشور یا در سراسر جهان به بازدید کنندگان سرویس می دهد ، CDN می تواند TTFB شما را به شدت کاهش دهد. همانطور که در بالا دیدیم ، موقعیت مکانی بسیار مهم است.
TTFB بدون CDN
ما ابتدا یک تست با غیرفعال کردن CDN انجام دادیم و همانطور که می بینید زمان کل بارگزاری 1.45 ثانیه و میانگین TTFB برای یک url حدود 136 ms بود.
TTFB با CDN
CDN خود را فعال کردیم و دوباره تست را اجرا کردیم. همانطور که می بینید زمان بارگزاری کلی به 788 ms کاهش یافته است و میانگین TTFB ما اکنون 37 ms است! چه تفاوتی CDN می تواند ایجاد کند.
توجه: اگر از Cloudflare استفاده می کنید ، ممکن است TTFB کمی بالاتر داشته باشید. این به احتمال زیاد به دلیل سربار اضافی و پیچیدگی در اجرای سرویس پروکسی است. به یاد داشته باشید که Cloudflare دارای دیواره های آتش اضافی و سایر ویژگی هایی است که برخی از ارائه دهندگان CDN ندارند. اگر سایت شما به درستی بهینه نشده است، میبایست برای هرچه کمتر شدن TTFB کمی هزینه کنید.
با این حال ، شما همچنین می توانید راهنمای WP Bullet را در مورد استفاده از حافظه پنهان صفحه Cloudflare برای پایین آوردن TTFB بررسی کنید. این می تواند به آزمایش های اضافی نیاز داشته باشد. حتماً تست های خود را اجرا کنید زیرا هر محیط متفاوت است.
3. استفاده از کش در وردپرس
راه سوم و احتمالاً یکی از ساده ترین راه های کاهش TTFB استفاده از کش (cache) در سایت وردپرس است. بسیاری فقط فکر می کنند کشینگ می تواند به کاهش بارگذاری سایت کمک کند ، اما در حقیقت به کاهش TTFB نیز کمک می کند زیرا به کاهش زمان پردازش سرور کمک می کند. ما دوباره چندین تست با و بدون کش انجام دادیم. هر آزمون 5 بار اجرا شد و میانگین آن گرفته شد.
سرورستاپ اولین ارائه دهنده سیستم cache هوشنمد وردپرس (بدون نیاز به استفاده از پلاگین خاص)می باشد که با استفاده از کش کردن اطلاعات بروی Ram سرعت بسیار بالایی را برای صفحات پربازدید رقم می زند.
بدون کشینگ:
ما سایت را از طریق Pingdom اجرا کردیم و بدون اجرای کش ، سایت ما زمان بارگذاری 1.17 ثانیه و TTFB برابر 560 ms را ثبت نمود.
با کشینگ:
در این تست مکانیزم کشینگ را فعال کردیم و مجدداً سایت را از طریق Pingdom بررسی کردیم. این بار سایت ما زمان بارگذاری 643 ms و TTFB معادل 57 ms را به ثبت رساند.
بنابراین با فعال کردن کش ، ما توانستیم TTFB خود را تقریبا 90٪ کاهش دهیم! ما این کار را در سطح سرور انجام می دهیم به این معنی که هیچ افزونه برای کشینگ لازم نیست. سرورستاپ دارای سیستم cache هوشمند در سرویس هاست وردپرس خود می باشد.
برای اطلاعات بیشتر مقاله “سیستم Cache چیست و چه مزایایی دارد؟” را مطالعه کنید.
4. استفاده از سرویس Premuim DNS
و نکته آخر اینکه ، DNS نیز در محاسبه TTFB مؤثر می باشد. محاسبه دقیق میزان تأثیر آن DNS بر روی TTFB دشوار اس ، اما می توانید زمان جستجوی DNS (DNS Lookup) را مشاهده کنید. ما با ابزار تست سرعت SolveDNS چند آزمایش انجام دادیم. ابتدا یک تست بر روی یک دامنه که از سرویس DNS رایگان Namecheap استفاده میکند انجام دادیم.
در شکل زیر نیز وضعیت یک سایت که از Amazon Route 53’s premium DNS استفاده میکند نشان داده شده است. همانطور که می بینید ، زمان جستجوی DNS با آمازون بسیار سریعتر است. معمولاً ارائه دهندگانPremuim DNS سرعت بهتری دارند. Cloudflare نیز یک سرویس ارائه دهنده DNS رایگان میباشد که عملکرد بسیار خوبی نیز دارد.
جمع بندی
بسیاری موارد دیگر نیز وجود دارند که می تواند در محاسبه TTFB نقش داشته باشند مانند کشینگ پایگاه داده ، سرعت خواندن و نوشتن دیسک (Disk I/O) ، مصرف حافظه RAM ، تنظیمات مربوط به PHP ، تنظیمات MySQL ، تنظیمات شبکه ، سربارهای ناشی از TLS و غیره. پیادهسازی و استفاده از موارد ذکر شده در این مقاله آسان نسبت به سایر موارد آسانتر بوده و در عین حال بهترین عملکرد را به شما می دهد. در نهایت به یاد داشته باشید که یک میزبان سریع وردپرس ، CDN ،کشینگ و سرویس DNS همه نقش مهمی را در کاهش زمان دریافت اولین بایت (TTFB)ایفا می کنند. رفع و یا بهبود این موارد باعث بهبود TTFB و افزایش سرعت وب سایت شما می شود.
سرورستاپ پیشرو ارائه دهنده خدمات میزبانی وردپرس در ایران می باشد. برای کسب اطلاعات بیشتر با ما در تماس باشید.