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

0
34
Rate this post

Latency, cùng với tốc độ download/upload, là một thông số quan trọng khi đo tốc độ kết nối Internet của chúng ta trên website speedtest.net. Như vậy, bạn đã từng nghe qua từ “latency” chưa? Nếu chưa, thì bài viết hôm nay của Bizfly Cloud sẽ giúp bạn hiểu rõ hơn về khái niệm này và tại sao nó lại quan trọng đến vậy đối với trải nghiệm sử dụng website của bạn.

Latency là gì?

Latency hay còn gọi là độ trễ, là khoảng thời gian giữa lúc chúng ta gửi yêu cầu (request) và lúc nhận được kết quả trả về (response). Độ trễ có thể xảy ra trong nhiều hoạt động hàng ngày, từ phản xạ thần kinh của cơ thể đến quá trình xử lý của hệ thống máy tính. Tuy nhiên, trong bài viết này, Bizfly Cloud tập trung vào khái niệm latency trong duyệt web, nghĩa là độ trễ thời gian từ khi chúng ta gửi yêu cầu qua trình duyệt (ví dụ như nhấp vào một liên kết) cho đến khi kết quả trả về từ server được hiển thị cho chúng ta.

Latency

Nguyên nhân gây ra Latency

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

Quá trình trên chỉ là một nửa con đường, bởi dữ liệu phản hồi sẽ phải trải qua con đường trở lại để trả kết quả về cho chúng ta. Từ những nguyên nhân trên, chúng ta có thể thấy có 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 thiết bị.

Độ trễ đường truyền

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

Ví dụ, dù tốc độ truyền tín hiệu quang có thể gần như tiệm cận 300000km/s, nhưng để truyền tín hiệu quang từ Hà Nội đến TP.Hồ Chí Minh (khoảng cách 1600km), chúng ta vẫn mất tới hơn 5ms cho mỗi chiều truyền. Việc giao tiếp liên tục giữa các giao thức trao đổi dữ liệu hoặc các khoảng cách quốc tế dài hơn nữa cũng làm tăng đáng kể độ trễ trên đường truyền. Điều này cho thấy độ trễ đường truyền là một con số không thể bỏ qua.

Độ trễ đường truyền

Độ trễ xử lý

Trên đường truyền, các thiết bị mạng và các thiết bị tham gia xử lý tín hiệu (bao gồm cả server web) đều có tác động đế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 dạng sóng quang, dạng sóng điện và dạng sóng không dây, hay các quá trình lọc lưu lượng, tường lửa và xử lý định tuyến,… đòi hỏi các chip xử lý trên các thiết bị mạng phải làm việc với tín hiệu và đôi khi cả dữ liệu bên trong. Với cấu hình của các thiết bị này thường không mạnh mẽ, chúng sẽ mất một khoảng thời gian đáng kể để xử lý tín hiệu trên đường truyền.

  • Đối với máy chủ web: Tương tự như các thiết bị mạng, máy chủ web, dù có mạnh đến đâu, cũng sẽ gặp độ trễ khi phải xử lý lượng yêu cầu lớn. Trường hợp điển hình nhất là khi một website bị quá tải do lượng truy cập đột biến, khiến tốc độ phản hồi của máy chủ 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. Điều này có thể không là vấn đề lớn đối với các website tĩnh, nhưng chắc chắn sẽ ảnh hưởng nặng nề đến trải nghiệm trên 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 phổ biến để tính toán độ trễ, đó là Round Trip Time (RTT), Time to First Byte (TTFB) và Ping.

Round Trip Time (RTT)

RTT là một thông số thường được sử dụng để đo độ trễ. Nó được 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”). Tuy nhiên, phương pháp này có nhược điểm là 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 phương pháp khác để tính toán độ trễ. Cách tính này được dựa trên sự khác biệt thời gian từ lúc gói dữ liệu rời khỏi một điểm trên mạng cho đến lúc nó đến đích.

Ping

Ping có lẽ là phương pháp kiểm tra độ trễ thông dụng nhất. Nó là một giao thức thông báo điều khiển Internet (ICMP) và được 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 hầu hết các hệ điều hành có khả năng kết nối mạng.

Ping

Lệnh Ping là một công cụ thuận tiện để kiểm tra nhanh độ trễ. 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. Để có cái nhìn rõ ràng hơn về luồng mạng và các nút thắt cổ chai, bạn cần sử dụng các công cụ kiểm tra mạng bổ sung.

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). CDN hoạt động bằng cách đưa nội dung web đến các máy chủ nằm ở nhiều vị trí địa lý khác nhau – từ đó giảm khoảng cách truyền thông tin và độ trễ. 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à cũng đóng vai trò cải thiện latency.

Một cách khác, tuy không cải thiện trực tiếp latency nhưng có thể giúp người dùng cảm nhận độ trễ thấp hơn, đó là tối ưu hóa 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 ưu 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ể xuất phát từ kết nối của người dùng. Điều này có thể do tín hiệu wifi yếu, cấu hình router kém hoặc gói mạng rẻ tiền,… Bạn có thể thử nâng cấp router và bộ phát wifi, nâng cấp gói mạng hoặc chuyển sang sử dụng cáp ethernet thay vì kết nối không dây trên máy tính.

Một hướng khác bạn có thể nghĩ đến là định tuyến gói tin đến máy chủ web của bạn 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 hoặc 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, bạn có thể xem xét việc nâng cấp thiết bị của mình. Thực tế là một số thiết bị cũ có thể gặp vấn đề khi xử lý các website hiện đại ngày nay, dẫn đến trải nghiệm chậm và khó chịu dù latency vẫn ở mức thấp.

Hi vọng bài viết này của Bizfly Cloud đã giúp 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. Đừng quên tiếp tục theo dõi chúng tôi để biết thêm nhiều kiến thức thú vị sẽ được cập nhật trong thời gian tới.

Bài viết được chỉnh sửa bởi dnulib.edu.vn