Giờ máy chủ là gì? Vì sao lệch với đồng hồ của bạn
Khi vé concert mở bán "đúng 8 giờ tối", đó là 8 giờ của ai? Không phải của điện thoại hay máy tính của bạn, mà là 8 giờ của máy chủ trang bán vé. Ngay khi đồng hồ máy chủ chỉ 8 giờ, nút đặt vé mới hoạt động, còn yêu cầu nào đến sớm hơn sẽ nhận thông báo "chưa mở bán".
Vấn đề là đồng hồ máy chủ và đồng hồ thiết bị của bạn không bao giờ khớp hoàn toàn. Độ lệch thường từ vài chục đến vài trăm mili giây (1 mili giây là 1/1000 giây), và với máy chủ quản lý kém có thể lệch vài giây. Với các buổi diễn hot, ghế đẹp hết trong một hai giây, nên khoảng lệch nhỏ này có thể quyết định kết quả.
Vì sao các đồng hồ lệch nhau
Máy tính và điện thoại đếm giờ bằng một bộ dao động thạch anh nhỏ. Do nhiệt độ và sai khác linh kiện, nó chạy hơi nhanh hoặc hơi chậm. Dù mỗi ngày chỉ lệch 0,1 giây, vài ngày sau cũng thành khoảng lệch dễ thấy.
Vì vậy hầu hết thiết bị định kỳ chỉnh giờ qua internet theo một máy chủ thời gian chuẩn, bằng giao thức NTP (Network Time Protocol). Nhưng tần suất chỉnh và máy chủ chuẩn khác nhau tùy thiết bị và công ty.
- Điện thoại chỉnh giờ qua mạng nhà mạng hoặc máy chủ thời gian của hãng.
- Máy tính chỉnh theo chu kỳ của hệ điều hành, đôi khi vài ngày mới một lần.
- Máy chủ bán vé chỉnh theo cách công ty đó quản lý máy chủ.
Ba đồng hồ được chỉnh vào những lúc khác nhau theo những chuẩn khác nhau thì lệch nhau là chuyện tự nhiên. Đặt điện thoại và máy tính cạnh nhau, bạn sẽ thấy giây nhảy vào những khoảnh khắc hơi khác nhau, cũng vì lý do này.
Biến số thứ hai: độ trễ mạng
Không chỉ là độ lệch đồng hồ. Từ lúc bạn bấm đến lúc yêu cầu tới máy chủ cũng mất thời gian. Đó là độ trễ, và tổng thời gian yêu cầu đi và phản hồi quay về gọi là thời gian khứ hồi (RTT).
Dùng mạng có dây trong Hàn Quốc tới máy chủ Hàn Quốc, khứ hồi thường mất vài chục mili giây. Với dữ liệu di động hay Wi-Fi đông người, thời gian dài hơn và thất thường hơn. Có thể coi yêu cầu tới máy chủ mất khoảng một nửa thời gian khứ hồi.
Tóm lại, muốn bấm đúng giờ chẵn bạn cần biết hai điều: ① đồng hồ máy chủ nhanh hay chậm hơn đồng hồ của bạn bao nhiêu, và ② yêu cầu của bạn mất bao lâu để tới máy chủ. Trang giờ máy chủ đo cả hai và cho bạn biết "theo máy chủ thì bây giờ là mấy giờ".
Giờ máy chủ được đo như thế nào
Khi bạn truy cập một trang web, máy chủ gửi kèm trang một số thông tin trong phần đầu phản hồi. Mục Date chứa thời gian hiện tại theo máy chủ. Đo giờ máy chủ về cơ bản là đọc giá trị này.
Nhưng Date chỉ chính xác đến giây. Nó chỉ nói "20:00:03" mà không cho biết là 3,1 hay 3,9 giây. Dùng nguyên giá trị này có thể sai tới 1 giây.
Bắt khoảnh khắc giây thay đổi
Cách vượt giới hạn này là hỏi nhiều lần. Ghi chính xác lúc gửi yêu cầu và lúc nhận phản hồi, rồi so với giây máy chủ trả về, ta có một khoảng mà đồng hồ máy chủ chắc chắn nằm trong đó. Gửi yêu cầu vào những thời điểm hơi khác nhau, phần giao của các khoảng sẽ hẹp dần, cho đến khi khoảnh khắc giây của máy chủ thay đổi được xác định trong vòng vài chục mili giây.
Chochim gửi 10 yêu cầu như vậy tới mỗi trang bán vé, lấy điểm giữa của phần giao làm vị trí đồng hồ máy chủ, và hiển thị một nửa độ rộng khoảng đó là sai số đo (±). Sai số càng nhỏ, giá trị càng đáng tin.
Hiệu chỉnh cả thiết bị của bạn
Việc đo diễn ra trên máy chủ của Chochim, nên chúng tôi cũng đo riêng độ lệch giữa thiết bị của bạn và máy chủ Chochim. Khi bạn mở trang, vài tín hiệu ngắn được gửi đi và về, rồi chúng tôi hiệu chỉnh đồng hồ thiết bị theo lần khứ hồi nhanh nhất. Vì thế giờ trên màn hình chạy theo đồng hồ máy chủ bán vé chứ không theo thiết bị của bạn.
Lưu ý khi xem kết quả đo
- Sai số lớn thì đo lại. Có thể kết nối tạm thời không ổn định. Mạng có dây thường ổn định hơn Wi-Fi, Wi-Fi ổn định hơn dữ liệu di động.
- Kiểm tra lại ngay trước giờ mở bán. Đồng hồ máy chủ cũng liên tục trôi, và quản trị viên đôi khi chỉnh lại. Nên đo lại khoảng 10 phút trước giờ mở bán.
- Một số trang không đo chính xác được. Có trang đặt máy chủ bảo mật hoặc bộ nhớ đệm phía trước, hiển thị đồng hồ khác với máy chủ đặt vé thật. Khi đó chỉ nên coi giá trị là tham khảo.
- Trang có hàng chờ thì không chỉ phụ thuộc thời gian. Số thứ tự được cấp theo thứ tự yêu cầu tới máy chủ, nên quan trọng nhất là vào đúng lúc và chỉ một lần.
Vậy khi nào nên bấm?
Yêu cầu của bạn cần tới máy chủ đúng giờ chẵn, nên về lý thuyết hãy bấm vào lúc "giờ chẵn trừ độ trễ một chiều". Nhưng tới quá sớm sẽ nhận thông báo "chưa mở bán" và phải bấm lại, càng mất thời gian. Vì vậy Chochim khuyên canh theo giờ chẵn của máy chủ nhưng bấm trễ một chút, 0,1–0,3 giây. Chiến lược đầy đủ có trong bài Săn vé concert từ đầu đến cuối.