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

Mục Cơ hội trong báo cáo Lighthouse cho biết thời gian phản hồi của máy chủ – thời gian cần thiết để trình duyệt của người dùng nhận được byte đầu tiên của nội dung trang, sau khi đưa ra yêu cầu:

Ảnh chụp màn hình bài kiểm tra Thời gian phản hồi của máy chủ Lighthouse thấp

Thời gian phản hồi chậm của máy chủ ảnh hưởng đến hiệu suất

Quá trình kiểm tra này sẽ thất bại khi trình duyệt đợi hơn 600 mili giây để máy chủ phản hồi yêu cầu tài liệu chính. Người dùng không thích khi các trang mất nhiều thời gian để tải. Thời gian phản hồi chậm của máy chủ là một nguyên nhân có thể khiến trang tải lâu.

Khi người dùng chuyển đến một URL trong trình duyệt web, trình duyệt sẽ đưa ra một yêu cầu mạng để tìm nạp nội dung đó. Máy chủ của bạn nhận được yêu cầu và trả về nội dung trang.

Máy chủ có thể cần phải thực hiện nhiều thao tác để trả về một trang có tất cả nội dung mà người dùng muốn. Ví dụ: nếu người dùng đang xem nhật ký đơn đặt hàng, thì máy chủ cần tìm nạp nhật ký của từng người dùng từ cơ sở dữ liệu, sau đó chèn nội dung đó vào trang. Tối ưu hoá máy chủ để thực hiện những việc như thế này nhanh nhất có thể là một cách để giảm thời gian người dùng chờ tải trang.

Ngay cả khi máy chủ không cần thực hiện nhiều thao tác, độ trễ mạng giữa ứng dụng và máy chủ có thể dẫn đến thời gian phản hồi chậm của máy chủ.

Cách cải thiện 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, do đó có nhiều cách có thể cải thiện:

  • 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.

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

Drupal

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. Cuối cùng, hãy 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ủ.

Magento

Sử dụng tính năng tích hợp Varnish của Magento.

Phả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.

WordPress

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.

Tài nguyên