Latency là gì? Nguyên nhân và cách khắc phục lỗi Latency hiệu quả

Latency là gì

Latency, bên cạnh download/upload speed là thông số nổi bật nhất nếu bạn thử đo tốc độ kết nối Internet của mình trên website nổi tiếng speedtest.net. Vậylatency là gì và nó có ảnh hưởng như thế nào đến trải nghiệm sử dụng website của bạn mà lại quan trọng đến vậy? hãy cùng Bizfly Cloud tìm hiểu trong bài viết hôm nay.

Latency là gì?

Latency hay độ trễ là khoảng thời gian giữa lúc yêu cầu được gửi đi (request sent) và lúc kết quả được trả về (response received). Độ trễ có thể xảy ra trong nhiều hoạt động hằng ngày, từ các phản xạ thần kinh của cơ thể sống đến quá trình xử lý của các hệ thống máy tính.

Trong bài viết này, ta chủ yếu đề cập khái niệm latency trong duyệt web, nghĩa là độ trễ thời gian từ khi người dùng gửi yêu cầu qua trình duyệt (vd: nhấp vào một liên kết) đến khi kết quả trả về của server được hiển thị cho người dùng.

Latency là khoảng thời gian giữa lúc yêu cầu được gửi đi và lúc kết quả được trả về

Nguyên nhân gây ra Latency

Con đường di chuyển của dữ liệu khi bạn duyệt web là cực kỳ phức tạp. Từ thiết bị cá nhân, tín hiệu phải đi qua các phần cứng mạng trong nhà (router, switch,…) rồi qua đường truyền đến nhà cung cấp dịch vụ Internet. Tín hiệu lúc này sẽ được chuyển qua hàng loạt máy chủ trung gian ở khắp nơi trước khi đến đích là server của website mà ta muốn truy cập.

Toàn bộ quá trình trên mới chỉ là nửa con đường, dữ liệu phản hồi một lần nữa sẽ trải qua con đường ngược lại để trả kết quả đến bạn. Từ quá trình trên, ta có thể chỉ ra hai vấn đề chính gây ra latency khi duyệt web là độ trễ trên đường truyền và độ trễ xử lý tín hiệu của các phần cứng.

Độ trễ đường truyền

Bất kể đường truyền bạn sử dụng là cáp quang, cáp đồng hay tín hiệu vô tuyến, tín hiệu truyền đi đều là dạng sóng điện từ và do đó có tốc độ tiệm cận thứ nhanh nhất vũ trụ – ánh sáng trong chân không. Nhưng nhanh đến mấy thì cũng phải có giới hạn, ngay cả ánh sáng cũng vậy.

Dù rằng tốc độ có thể tiệm cận 300000km/s, việc truyền tín hiệu quang từ Hà Nội vào Tp.Hồ Chí Minh (1600 km) vẫn mất tới hơn 5ms mỗi chiều. Chưa kể việc phải mất nhiều vòng giao tiếp liên tục để các giao thức trao đổi dữ liệu hay những khoảng cách qua tuyến cáp quốc tế còn lớn hơn nhiều lần, rõ ràng độ trễ đường truyền là một con số không thể bỏ qua.

Độ trễ đường truyền là nguyên nhân gây ra Latency

Độ trễ xử lý

Trên đường truyền, các thiết bị mạng và thiết bị tham gia xử lý tín hiệu (bao gồm cả server web) đều có tác động nhất định lên dữ liệu.

  • Đối với các thiết bị mạng: Các quá trình biến đổi tín hiệu giữa quang – điện – sóng vô tuyến hay các bộ lọc lưu lượng, tường lửa, xử lý định tuyến,… đều đòi hỏi các chip xử lý trên thiết bị mạng làm việc với tín hiệu và đôi khi cả dữ liệu bên trong. xét đến cấu hình của các thiết bị này thường không phải quá mạnh, chúng sẽ mất một khoảng thời gian tổng đáng kể để xử lý tín hiệu trên đường truyền.
  • Đối với máy chủ web: Tương tự các thiết bị mạng, các máy chủ web dù mạnh đến đâu cũng vẫn sẽ có độ trễ khi phải xử lý lượng lớn yêu cầu. Ví dụ rõ nhất là những trường hợp các website bị quá tải do lượng truy cập tăng đột biến khiến tốc độ phản hồi của server bị chậm đi rất nhiều.

Tổng hợp những nguyên nhân trên đôi khi dẫn đến độ trễ tới vài trăm mili giây khi sử dụng dịch vụ web. Đó có thể là vấn đề không quá lớn trên các website tĩnh nhưng chắc chắn sẽ làm ảnh hưởng nặng nề trải nghiệm các dịch vụ tương tác như video call hay game online.

Cách tính Latency

Có 3 phương pháp tính latency phổ biến là Round Trip Time (RTT), Time to First Byte (TTFB) và Ping.

Round Trip Time (RTT)

RTT là một thông số phổ biến để đo độ trễ, tính bằng tổng thời gian mà một gói dữ liệu cần để đi từ nguồn đến đích và quay trở lại (còn được gọi là “thời gian khứ hồi”). Phương pháp đánh giá này có một vài nhược điểm vì nó có thể không đưa ra một bức tranh rõ ràng về nguyên nhân gây độ trễ trong các trường hợp đường đi của dữ liệu trả về khác nhau.

Time To First Byte(TTFB)

TTFB (thời gian đến byte dữ liệu đầu tiên) là một số liệu khác để tính toán độ trễ. Thông số này được tính bằng cách ghi lại sự khác biệt về thời gian từ thời điểm gói dữ liệu rời khỏi một điểm trên mạng đến thời điểm nó đến đích.

Ping

Ping có lẽ là quen thuộc nhất với đa số mọi người, là một phương pháp kiểm tra độ trễ thường được sử dụng cho Giao thức thông báo điều khiển Internet (ICMP). Lệnh Ping được quản trị viên mạng sử dụng để đo thời gian gửi 32 byte dữ liệu đến đích cộng với thời gian cần để nhận lại phản hồi. Lệnh ping hoạt động trên tất cả các hệ điều hành có khả năng kết nối mạng.

Lệnh Ping được quản trị viên mạng sử dụng để đo thời gian gửi 32 byte dữ liệu

Ping thuận tiện cho các phép kiểm tra nhanh latency. Tuy nhiên, nó không giúp khắc phục các vấn đề về độ trễ do không cung cấp đầy đủ thông tin nếu bạn đang cố gắng kiểm tra nhiều đường dẫn. Bạn sẽ cần các công cụ kiểm tra mạng bổ sung để có cái nhìn rõ ràng về luồng mạng và các nút thắt cổ chai.

Cách khắc phục Latency

Từ phía Server

Cách phổ biến nhất để giảm latency cho web server là sử dụng CDN (Content Delivery Network – mạng phân phối nội dung). Nguyên lý hoạt động của CDN là đưa nội dung web đến các máy chủ ở nhiều vị trí địa lý – qua đó giảm khoảng cách truyền thông tin và latency. Các mạng CDN như Bizfly CDN cũng giúp giảm tải xử lý trên máy chủ gốc và thêm một lần nữa giúp ích cải thiện latency.

Một cách khác tuy không hẳn cải thiện trực tiếp latency thực nhưng có thể giúp người dùng cảm nhận độ trễ thấp hơn là tối ưu các nội dung và kiến trúc của trang web. Những thao tác như nâng cấp server, cải thiện kiến trúc backend, rút gọn mã (code minification),… sẽ giúp giảm lượng dữ liệu cần truyền, tối đa hóa tốc độ tải trang và xử lý của máy chủ cũng như trình duyệt.

Từ phía User

Trong nhiều trường hợp, độ trễ có thể xảy ra chủ yếu từ kết nối phía người dùng. Nó có thể gây ra bởi tín hiệu wifi kém, router cấu hình yếu hay những gói mạng giá rẻ,… Bạn có thể thử nâng cấp router và bộ phát wifi, nâng cấp gói mạng lên cao hơn hay chuyển qua sử dụng cáp ethernet thay vì tín hiệu không dây trên máy tính.

Một hướng khác có thể nghĩ đến là định tuyến gói tin đến máy chủ web của bạn đang không được tối ưu. Để giải quyết vấn đề này, bạn có thể sử dụng các phần mềm VPN hay proxy để định tuyến lại đường đi gói tin cho tối ưu nhất.

Cuối cùng, nếu những cách trên không thể cải thiện tình trạng “lag” khi duyệt web thì bạn có thể cân nhắc nâng cấp thiết bị của mình. Sự thật là một số thiết bị đời cũ có thể gặp vấn đề khi xử lý các website hiện đại ngày nay khiến trải nghiệm chậm đến khó chịu dù latency vẫn giữ ở mức thấp.

Hi vọng bài viết này của Bizfly Cloud đã giúp các bạn hiểu rõ hơn về latency và những phương pháp khắc phục tình trạng độ trễ khi truy cập các trang web. Hãy tiếp tục theo dõi chúng tôi để biết thêm nhiều kiến thức thú vị sẽ luôn được cập nhật trong thời gian tới.