Độ trễ khi yêu cầu tài liệu

Adam Raine
Adam Raine

Ngày xuất bản: 27 tháng 3 năm 2025

Yêu cầu tài liệu ban đầu cho trang là quan trọng nhất vì tất cả các yêu cầu mạng và nội dung trang đều phụ thuộc vào yêu cầu này. Việc tối ưu hoá yêu cầu tài liệu ban đầu sẽ giúp cải thiện hiệu suất.

Thông tin chi tiết này kiểm tra những gì

Thông tin chi tiết này kiểm tra xem yêu cầu tài liệu ban đầu có bị ảnh hưởng bởi bất kỳ điều kiện nào sau đây hay không:

  • Yêu cầu điều hướng đã được chuyển hướng một hoặc nhiều lần.
  • Máy chủ mất hơn 600 mili giây để phản hồi yêu cầu.
  • Phản hồi không được nén.
Công cụ cho nhà phát triển báo cáo rằng bạn có thể giảm độ trễ của tài liệu bằng cách loại bỏ các lệnh chuyển hướng
DevTools báo cáo rằng bạn có thể giảm độ trễ của tài liệu bằng cách loại bỏ các lệnh chuyển hướng

Tránh chuyển hướng

Lệnh chuyển hướng làm giảm tốc độ tải trang. Khi một trình duyệt yêu cầu một tài nguyên đã được chuyển hướng, máy chủ thường trả về một phản hồi HTTP như sau:

HTTP/1.1 301 Moved Permanently
Location: /path/to/new/location

Sau đó, trình duyệt phải thực hiện một yêu cầu HTTP khác tại vị trí mới để truy xuất tài nguyên. Chuyến đi bổ sung này trên mạng có thể làm chậm quá trình tải tài nguyên.

Đảm bảo rằng các đường liên kết trỏ đến vị trí hiện tại của một tài nguyên. Nếu bạn đang sử dụng lệnh chuyển hướng để chuyển người dùng thiết bị di động đến phiên bản dành cho thiết bị di động của trang, hãy cân nhắc việc thiết kế lại trang web để sử dụng thiết kế thích ứng.

Giảm thời gian phản hồi của máy chủ

Bước đầu tiên để cải thiện thời gian phản hồi của máy chủ là xác định các tác vụ khái niệm cốt lõi mà máy chủ phải hoàn thành để trả về nội dung trang, sau đó đo lường thời gian cần thiết cho mỗi tác vụ này. Sau khi xác định được những tác vụ mất nhiều thời gian nhất, hãy tìm cách tăng tốc các tác vụ đó.

Có nhiều nguyên nhân có thể gây ra tình trạng máy chủ phản hồi chậm và nhiều cách có thể cải thiện tình trạng này:

  • Tối ưu hoá logic ứng dụng của máy chủ để chuẩn bị các trang nhanh hơn. Nếu bạn sử dụng một khung máy chủ, thì khung đó có thể có các đề xuất về cách thực hiện việc này.
  • Tối ưu hoá cách máy chủ truy vấn cơ sở dữ liệu hoặc di chuyển sang các hệ thống cơ sở dữ liệu nhanh hơn.
  • Nâng cấp phần cứng máy chủ để có thêm bộ nhớ hoặc CPU.
  • Sử dụng CDN để giảm độ trễ mạng. Điều này đặc biệt hiệu quả nếu tài liệu có thể được lưu vào bộ nhớ đệm tại nút biên của CDN.

Hãy xem hướng dẫn Tối ưu hoá TTFB để biết thêm thông tin.

Bật nén

Tính năng nén văn bản có thể giảm kích thước tổng thể của tài liệu HTML ban đầu. Khi yêu cầu một tài nguyên, trình duyệt sẽ sử dụng tiêu đề yêu cầu HTTP Accept-Encoding để cho biết những thuật toán nén mà trình duyệt hỗ trợ.

Accept-Encoding: gzip, compress, br, zstd

Xem thêm bài viết Tối ưu hoá kích thước mã hoá và chuyển của thành phần dựa trên văn bản.

Máy chủ của bạn phải trả về tiêu đề phản hồi HTTP Content-Encoding để cho biết thuật toán nén mà máy chủ đã dùng.

Công cụ cho nhà phát triển báo cáo rằng yêu cầu tài liệu đang sử dụng phương thức nén gzip
Công cụ cho nhà phát triển báo cáo rằng yêu cầu tài liệu đang sử dụng phương thức nén gzip

Hướng dẫn cụ thể theo ngăn xếp

Thông tin chi tiết này cũng cung cấp hướng dẫn cụ thể theo ngăn xếp cho những trang sử dụng các công nghệ sau:

WordPress

  • Bật tính năng nén văn bản trong cấu hình máy chủ web.
  • Chọn một giao diện gọn nhẹ (tốt nhất là giao diện khối) và triển khai tính năng lưu vào bộ nhớ đệm toàn trang hoặc giải pháp trang web tĩnh. Tắt các trình bổ trợ không cần thiết để giảm thiểu mức hao tổn máy chủ.
  • Hãy cân nhắc nâng cấp dịch vụ lưu trữ lên dịch vụ được quản lý hoặc dịch vụ chuyên dụng.

Drupal

  • Nếu bạn đã cài đặt mô-đun Chuyển hướng, hãy xem xét và xoá các lượt chuyển hướng không cần thiết.
  • Giảm tải lưu lượng truy cập bằng một hoặc nhiều mô-đun lưu vào bộ nhớ đệm Drupal như Internal Page Cache, Internal Dynamic Page CacheBigPipe. Hãy kết hợp các mô-đun này với CDN để cải thiện thêm thời gian phản hồi. Máy chủ lưu trữ cần tận dụng PHP OPcache.
  • Hãy cân nhắc dùng khả năng lưu vào bộ nhớ đệm của bộ nhớ, như lưu vào Redis hoặc Memcache, để giảm số lần truy vấn cơ sở dữ liệu.
  • Sử dụng giao diện, mô-đun và máy chủ nhanh hơn, có hiệu suất cao để giảm thời gian phản hồi của máy chủ.

Phản ứng

  • Nếu bạn đang dùng React Router, hãy giảm thiểu mức sử dụng thành phần <Redirect> cho các thao tác điều hướng theo tuyến đường.
  • Nếu bạn đang hiển thị bất kỳ thành phần React nào ở phía máy chủ, hãy cân nhắc dùng renderToNodeStream() hoặc renderToStaticNodeStream() để cho phép ứng dụng nhận và nhập những phần khác nhau của mục đánh dấu thay vì tất cả cùng lúc.

Joomla

  • Bật chế độ cài đặt Nén trang Gzip (Hệ thống > Cấu hình chung > Máy chủ).
  • Mẫu, tiện ích và thông số máy chủ đều tác động đến thời gian phản hồi của máy chủ. Hãy cân nhắc tìm một mẫu tối ưu hoá hơn, lựa chọn cẩn thận một tiện ích tối ưu hoá hoặc nâng cấp máy chủ.

Magento

Tài nguyên