Select Page

Time To First Byte- Chỉ số tăng tốc Website quan trọng

Time To First Byte- Chỉ số tăng tốc Website quan trọng

Giảm thiểu chỉ số Time To First Byte để tăng tốc Website, bạn đã nghe qua về chỉ số này bao giờ chưa? Tôi muốn nói rằng, chúng ta có nhiều cách tăng tốc web, và có rất nhiều tài liệu nói về vấn đề này. Nhưng tôi lại nhận thấy rằng các bài viết tăng tốc độ cho Website chỉ mang tính hời hợt, chưa có tác động nhiều đến việc giảm thời gian chờ cho độc giả. Hơn nữa, tất cả chưa phân tích chuyên sâu và chưa cho chúng ta nhìn thấy được vấn đề thực sự ở bên trong.

PageSpeed Insights là công cụ của nhà phát triển Google dành cho blogger để theo dõi trang web và đánh giá chỉ số tốc độ theo chuẩn của Google nhằm mục đích SEO web. Google đưa ra quy định, trang web nào thân thiện với người dùng sẽ được đánh giá cao hơn. Và ai trong số chúng ta khi sỡ hữu website hay blog đều muốn được điểm cao với công cụ này.

Tôi đã gặp một vài trục trặc về tốc độ website, nhưng nó chưa phải là vấn đề lớn. Vấn đề lớn ở đây là tôi tham khảo và làm theo quy trình tăng tốc của một số blogger nhưng thời gian xử lý vẫn ì ạch. Tôi không biết bạn đã gặp vấn đề như tôi hay không nhưng rõ ràng là cảm giác của tôi lúc đấy thật khó mà diễn tả được.

Vấn đề cốt lõi mà tôi nhận ra chính là chỉ số TTFB( Time To First Byte) làm cho trang web chậm đi trông thấy. Nếu bạn sử dụng PageSpeed Insights thì bạn sẽ nhận được một thông báo cần cải thiện đó là “Giảm thời gian phản hồi của máy chủ”, đó chính là vấn đề của TTFB. Vậy TTFB là gì? Làm sao để cải thiện TTFB và tăng tốc website?

Tổng quan về Time To First Byte

TTFB là chỉ số ghi lại thời gian trình duyệt nhận được byte đầu tiên từ một máy chủ Web khi yêu cầu một URL cụ thể. Các trang web có chỉ số Time To First Byte càng nhỏ thì sẽ được xếp hạng cao hơn trên công cụ tìm kiếm, đó là một yếu tố xác định tính thân thiện với người dùng của website.

Trong bài viết này, chúng ta cùng nhau tìm hiểu khái niệm về TTFB( Time To First Byte), cung cấp cho bạn biết phải làm gì để cải thiện tốc độ và kết quả tìm kiếm. TTFB tỷ lệ nghịch với tốc độ của website, nghĩa là nếu bạn muốn tăng tốc website ngoài việc thực hiện việc tạo cache, minify, Optimizer Image,… thì cần phải hạn chế thời gian TTFB.

Điều gì ảnh hưởng đến Time To First Byte

Có 3 điều ảnh hưởng đến chỉ số quan trọng này, đó là:

  1. Thời gian cần cho yêu cầu của trình duyệt thông qua mạng Internet đến máy chủ Web.
  2. Thời gian cho máy chủ Web xử lý yêu cầu và tạo ra phản hồi.
  3. Thời gian để phản hồi được truyền lại thông qua mạng Internet về lại trình duyệt Web.

Đây là 3 giai đoạn và cũng là 3 nguyên nhân chính ảnh hưởng đến TTFB và việc tăng tốc Website của bạn. Cần cải thiện số liệu này, nhưng trước khi cải thiện chúng ta hãy đo chỉ số này trên web trước.

Đo Time To First Byte

Để đo TTFB trên website, tôi sử dụng công cụ WebPageTest để làm việc này. Trong khoảng 30 giây, WebPage Test sẽ trả lại cho bạn một thác nước mà ở đó biểu thị chi tiết tất cả tài nguyên của trang web mà trình duyệt đã tải, bao gồm cả TTFB( Time To First Byte).

Time To First Byte- Chỉ số tăng tốc website quan trọng-1

Theo số liệu được báo cáo thì TTFB lý tưởng nằm ở từ 500ms trở xuống. Như bạn đã nhìn thấy ảnh chụp màn hình của thác nước thì TTFB là 2731ms, cho thấy website này rất chậm, chậm hơn 5 lần so với mức quy định. Chắc rằng bạn cũng không muốn nhìn thấy website của mình có chỉ số Time To First Byte lớn như vậy. Nếu đã xác định được TTFB lớn, chúng ta sẽ xác định nguyên nhân gì làm chỉ số này cao chót vót như vậy.

Khái niệm về Lacenty( Độ trễ mạng)

Lacenty là khoảng thời gian cần thiết để truyền một đoạn dữ liệu từ vị trí này sang vị trí khác. Khi trình duyệt yêu cầu một URL cụ thể, máy chủ sẽ phản hồi và trích xuất dữ liệu cần thiết, dữ liệu sẽ mất một khoảng thời gian nhất định để đi từ máy chủ đến trình duyệt và thời gian đó gọi là Lacenty- độ trễ mạng.

Khi nhắc đến Lancenty, thông thường mọi người đều hiểu rằng: “Nếu chúng ta có kết nối Internet nhanh thì Lacenty luôn luôn thấp”. Và đó là sự hiểu nhầm không đáng có, vì kết nối Internet chỉ là một phần ảnh hưởng, thời gian tải trang còn phụ thuộc vào:

  • Tốc độ kết nối của bạn.
  • FAR trang đích đến trình duyệt.

Nếu tôi gọi máy chủ là điểm A, còn trình duyệt web là điểm B thì thời gian tải trang bằng Lacenty+ Dowload time của dữ liệu. Vì vậy, nếu băng thông cao hay thấp thì độ trễ mạng là như nhau, dữ liệu vẫn phải đi cùng “khoảng cách” trong cả hai trường hợp. Từ đó, khoảng cách được xác định bởi 2 yếu tố chính:

  1. Khoảng cách vật lý từ A đến B
  2. Số lượng “bước nhảy” giữa A và B, vì lưu lượng truy cập Internet chuyển hướng qua một số lượng ngày càng tăng của các bộ định tuyến và chuyển mạch, nó càng đi xa.

Băng thông cao giúp cho việc di chuyển dữ liệu ít co giãn hơn, sẽ mang lại nhiều lợi ích hơn. Tuy nhiên, trong cả hai trường hợp băng thông của bạn cao và thấp thì bạn vẫn phải đi cùng một “khoảng cách” đầu tiên của kết nối, đó là Lacenty.

Đo Lacenty và thời gian xử lý

Công cụ để tách Lacenty ra khỏi thời gian xử lý máy chủ là Ping. Ping được cài sẵn theo mặc định trên hầu hết hệ thống Windows, Mac và Linux. Điều ping thực hiện là gửi một gói thông tin rất nhỏ qua Internet đến URL đích, đo lượng thời gian cần cho thông tin đó để có mặt ở đó và ngược lại.

Ping sử dụng hầu như không có chi phí xử lý ở phía máy chủ, do đó việc đo thời gian phản hồi của ping sẽ cho cảm giác tốt về độ trễ mạng của Time To First Byte.

Time To First Byte- Chỉ số tăng tốc website quan trọng-2

Độ trễ mạng cao nhất cho https://rainnguyen.com là 98ms, thấp nhất là 79ms, trung bình cho cả URL đích là 86ms. Đây là một con số tốt, nếu bạn muốn kiểm tra Lacenty của mình, hãy làm theo hướng dẫn sau:

  1. Nhấn Windows+ R, gõ cmd, nhấn Enter.
  2. Nhập trong cửa sổ cmd, lệnh “ping domain name”. Nhấn Enter.

Để tăng tốc Website thì tốt nhất thời gian ping trung bình của bạn phải dưới 100ms. Nếu quá cao, chúng ta cần giảm thời gian Time To First Byte tổng thể để Lacenty sẽ được cải thiện.

Phân loại

Từ những phân tích ở trên, tôi đã thử đo TTFB với các trang web đứng trong top 10 tìm kiếm, giá trị trả về có trang thấp đến 350ms. Các trang xếp hạng cao hơn kéo dài đến 750ms. Chỉ số được khuyến nghị bởi các chuyên gia là 500ms trở xuống.

Trong số 500ms được khuyến nghị này, Lacenty không quá 100ms. Tóm tắt như sau:

  1. Thời gian TTFB từ 500ms trở xuống
  2. Lacenty từ 100ms trở xuống
  3. Xử lý ngược từ máy chủ là 400ms hoặc ít hơn

Vì vậy, nếu trang web của bạn có thời gian tải cao bạn có thể xác định được đâu là nguyên nhân rốc rễ cho công việc tăng tốc website chứ. Đó một là do Lacenty hoặc là từ phía máy chủ của bạn.

Cải thiện độ trễ với CDN

Các giải pháp cải thiện độ trễ khá đơn giản: giảm “khoảng cách” giữa nội dung và khách truy cập. Là sao? Nếu người dùng của bạn ở Việt Nam, nhưng máy chủ lại ở châu Mỹ, bạn chắc chắn không muốn người dùng của mình yêu cầu một lệnh đi nửa vòng trái đất chứ. Thay vào đó, chúng ta cần một bản sao được lưu trữ ở gần người dùng, càng gần càng tốt.

Có một cách để làm được điều này: di chuyển nội dung tĩnh của website vào mạng phân phối nội dung( CDN). Nguyên tắc làm việc của CDN là tự động nhân rộng nội dung của bạn tới nhiều vị trí trên khắp  thế giới, gần người dùng hơn về mặt địa lý.

Time To First Byte- Chỉ số tăng tốc website quan trọng-3

Giải pháp tối ưu và giảm Lacenty là sử dụng CDN. Vậy nếu bạn chọn một dịch vụ CDN thì nên đảm bảo CDN chúng ta chọn không những lữu trữ được các tài nguyên tĩnh HTML mà còn lưu trữ được các thành phần phụ thuộc như JavaScript, Css. Vì đó là tài nguyên mà Google bot sẽ yêu cầu và đo chỉ số Time To First Byte.

Tối ưu hóa hiệu suất cơ sở hạ tầng back- end

Yếu tố thứ hai tác động đến TTFB là lượng thời gian máy chủ xử lý yêu cầu và tạo ra phản hồi. Về cơ bản thì thời gian xử lý back- end là hiệu suất của tất cả các công cụ khác tạo thành trang web.

  • Hệ điều hành và phần cứng máy tính chạy trang web và cách nó được cấu hình
  • Mã ứng dụng đang chạy trên phần cứng đó( CMS của trang web chẳng hạn) cũng như cách nó được cấu hình
  • Cấu hình của CSDL, truy vấn CSDL mà ứng dụng tạo ra để tạo trang, số truy vấn được tạo ra và số lượng dữ liệu được trả về.

Nếu có thể, chúng ta nên bỏ qua các dịch vụ “Shared Hosting” cho trang web của mình. Shared Hosting thường sử dụng một nền tảng chung mà trang web của bạn chia sẻ các tài nguyên máy chủ giống như các trang web khác từ các công ty khác. Shared Hosting đem đến nhiều rủi ro hơn cho trang web của chúng ta vì tốc độ xử lý máy chủ của chúng ta đang trong tình trạng tải nên hiệu suất máy chủ chúng ta và các trang web khác không liên quan. Để bảo vệ tốt nhất tài nguyên máy chủ, lời khuyên của tôi là nên sử dụng VPS riêng nếu bạn mạnh về tài chính.

Ngoài ra, hãy cẩn thận với các hệ thống lưu trữ ảo hoặc “on- demand”. Các hệ thống này sẽ tạm dừng máy chủ ảo nếu không nhận được lưu lượng truy cập trong một khoảng time nhất định. Sau đó, khi một người dùng mới truy cập vào trang web, họ sẽ bắt đầu một hoạt động “resume” để quay máy chủ sao lưu xử lý. Tùy thuộc vào nhà cung cấp, tốc độ xử lý có thể mất 10s hoặc nhiều hơn để hoàn thành. Nếu người dùng là Google bot thì chỉ số Time To First Byte của bạn từ yêu cầu đó thật sự khủng khiếp.

Tối ưu hiệu năng phần mềm back- end

Kiểm tra cấu hình ứng dụng của bạn hoặc CMS đang dùng xem có bất kỳ tính năng hoặc cài đặt đăng nhập nào đó có thể đang bị vô hiệu hóa. Hãy chuyển qua “debugging mode”( chế độ gỡ lối). Thoát khỏi các hoạt động không cần thiết đang xảy ra để cải thiện tốc độ web có thể đáp ứng yêu cầu.

Nếu ứng dụng của bạn hoặc CMS đang sử dụng ngôn ngữ lập trình như PHP hoặc Ruby, bạn nên tìm hiểu cách giảm thời gian thực hiện. Ngôn ngữ lập trình có một bước để chuyển chúng thành mã máy có thể hiểu được những gì thực hiện ở máy chủ. Lý tưởng nhất là máy chủ thực hiện chuyển đổi một lần thay vì chuyển đối với mỗi yêu cầu được gửi đến. Điều này thường được gọi là “compiling” hoặc “op- code caching”, mặc cho những cái tên này có thể khác nhau tùy thuộc vào công nghệ gạch chân. Ví dụ, với PHP chúng ta có thể sử dụng phần mềm APC để tăng tốc dữ liệu.

Khi có thể, việc sử dụng cache phía máy chủ là một cách tuyệt vời để tạo ra các trang động một cách nhanh chóng. Nếu trang của bạn đang tải nội dung thay đổi không thường xuyên, sử dụng cache cục bộ để tải lại các tài nguyên đó là một cách hiệu quả cao trong việc cải thiện hiệu suất và thời gian tải web.

Hiệu quả bộ nhớ đệm có thể được thực hiện ở các cấp độ khác nhau bằng các công cụ khác nhau và rất phụ thuộc vào công nghệ mà chúng ta đang sử dụng. Một số phần mềm bộ nhớ đệm chỉ cache một loại dữ liệu, trong khi một số khác thì cache ở nhiều cấp. Ví dụ:

  • Batcache là một Plug-in WordPress do Automattic tạo ra để lưu toàn bộ trang.
  • W3 ToTal Cache là một plug-in WordPress có cả bộ nhớ đệm truy vấn dữ liệu và bộ nhớ đệm trang.

Bất kể là công nghệ nào đang sử dụng, việc tìm ra cách giảm số lượng công việc cần thiết để tạo trang bằng cách sử dụng lại cache được tạo ra là một chiến thắng lớn. Cũng như bất kỳ thay đổi phần mềm nào chúng ta thực hiện, hãy đảm bảo liên tục kiểm tra tác động của Time To First Byte khi chúng ta từng bước thực hiện từng thay đổi.

Lời kết

Như vậy, qua bài viết này chúng ta đã hiểu được vấn đề cốt lõi của việc tăng tốc website là cải thiện chỉ số Time To First Byte. Chỉ số TTFB được cấu thành từ 3 yếu tố:

  1. Thời gian cần cho yêu cầu của trình duyệt thông qua mạng Internet đến máy chủ Web.
  2. Thời gian cho máy chủ Web xử lý yêu cầu và tạo ra phản hồi.
  3. Thời gian để phản hồi được truyền lại thông qua mạng Internet về lại trình duyệt Web.

Chú ý quan trọng khi cải thiện chỉ số Time To First Byte đó là “khoảng cách” đầu tiên- Lacenty ảnh hưởng rất lớn đến thứ hạng, cần được quan tâm và cải thiện. Hãy dùng CDN để cải thiện độ trễ mạng, tránh sử dụng shared hosting để tối ưu cơ sở hạ tầng back- end, tạo bộ nhớ cache để tối ưu hiệu suất xử lý back- end và tăng tốc website.

About The Author

Rain Nguyen

Tôi là Rain, người sáng lập và là biên tập viên của blog RN DOT COM. Tôi làm việc để xây dựng một cộng đồng vững mạnh bằng cách hướng dẫn mọi người viết blog kiếm tiền, xây dựng hệ thống kinh doanh của chính mình qua hệ thống bài viết của tôi. Nếu bạn thấy bài viết nào đó hay, hãy chia sẻ nó như một cách giúp tôi hỗ trợ những ai đang khao khát như bạn. I love all my friends!

2 Comments

  1. tham my lam dep hieu qua

    Good post. I learn something new and challenging on websites I stumbleupon everyday.
    It’s always interesting to read through articles from other authors and practice a little something from other sites.

    Hồi đáp

Leave a reply

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Tùy chọn tìm kiếm tên miền