Hiệu suất JavaScript của bên thứ ba

Tìm hiểu cách JavaScript của bên thứ ba có thể ảnh hưởng đến hiệu suất và những việc bạn có thể làm để JavaScript không làm chậm trang web.

JavaScript của bên thứ ba thường đề cập đến các tập lệnh được nhúng trong trang web của bạn và:

  • Không phải do bạn viết
  • Được phân phát từ máy chủ của bên thứ ba

Các trang web sử dụng các tập lệnh này cho nhiều mục đích, bao gồm:

  • Nút chia sẻ lên mạng xã hội
  • Nhúng trình phát video
  • Dịch vụ trò chuyện
  • Iframe quảng cáo
  • Tập lệnh Analytics và chỉ số
  • Tập lệnh thử nghiệm A/B cho thử nghiệm
  • Thư viện trợ giúp (chẳng hạn như định dạng ngày, ảnh động và thư viện chức năng)

Tập lệnh của bên thứ ba có thể cung cấp chức năng mạnh mẽ, nhưng đó không phải là toàn bộ câu chuyện. Các tệp này cũng ảnh hưởng đến quyền riêng tư, tính bảo mật và hành vi của trang⁠—đặc biệt là có thể gây ra vấn đề về hiệu suất.

Hiệu suất

Bất kỳ lượng JavaScript đáng kể nào cũng có thể làm chậm hiệu suất. Tuy nhiên, vì JavaScript của bên thứ ba thường nằm ngoài tầm kiểm soát của bạn, nên nó có thể gây ra thêm các vấn đề.

Mạng

Việc thiết lập kết nối sẽ mất thời gian và việc gửi quá nhiều yêu cầu đến nhiều máy chủ sẽ gây ra tình trạng chậm. Thời gian đó còn lâu hơn đối với các kết nối bảo mật, có thể liên quan đến việc tra cứu DNS, chuyển hướng và một số lượt đi và về đến máy chủ cuối cùng xử lý yêu cầu của người dùng.

Các tập lệnh của bên thứ ba thường làm tăng mức hao tổn mạng bằng những yếu tố như:

  • Gửi thêm yêu cầu mạng
  • Kéo hình ảnh và video chưa được tối ưu hoá
  • Không đủ bộ nhớ đệm HTTP, buộc phải tìm nạp thường xuyên các tài nguyên mạng
  • Không đủ nén máy chủ tài nguyên
  • Nhiều thực thể của khung và thư viện được các phần nhúng của bên thứ ba khác nhau lấy vào

Kết xuất

Cách tải JavaScript của bên thứ ba rất quan trọng. Nếu được thực hiện đồng bộ trong đường dẫn kết xuất quan trọng, thì việc này sẽ trì hoãn việc phân tích cú pháp phần còn lại của tài liệu.

Nếu bên thứ ba gặp vấn đề về máy chủ và không phân phối được tài nguyên, thì quá trình kết xuất sẽ bị chặn cho đến khi hết thời gian chờ của yêu cầu (có thể từ 10 đến 80 giây). Bạn có thể kiểm thử và mô phỏng vấn đề này bằng quy trình kiểm thử Điểm lỗi đơn của WebPageTest.

Việc cần làm

Bạn thường không thể tránh khỏi việc sử dụng JavaScript của bên thứ ba, nhưng có một số việc bạn có thể làm để giảm thiểu tác động bất lợi:

  • Khi chọn tài nguyên của bên thứ ba, hãy ưu tiên những tài nguyên gửi ít mã nhất trong khi vẫn cung cấp cho bạn chức năng mà bạn cần.
  • Sử dụng ngân sách hiệu suất cho nội dung của bên thứ ba để kiểm soát chi phí của nội dung đó.
  • Không sử dụng cùng một chức năng của hai nhà cung cấp khác nhau. Có thể bạn không cần đến hai trình quản lý thẻ hoặc hai nền tảng phân tích.
  • Thường xuyên kiểm tra và xoá các tập lệnh thừa của bên thứ ba.

Để tìm hiểu cách kiểm tra nội dung của bên thứ ba và tải nội dung đó một cách hiệu quả nhằm cải thiện hiệu suất và trải nghiệm người dùng, hãy xem các bài đăng khác trong phần Tối ưu hoá tài nguyên của bên thứ ba.