Mạng 03/09/2026 9 phút

Nửa Internet khuyên vặt tcp_fin_timeout để 'chữa' TIME_WAIT — tôi đo ra nó chẳng đụng tới con số đó

Bên đóng kết nối trước phải nằm TIME_WAIT đúng 60 giây trên Linux, và tcp_fin_timeout (thứ ai cũng khuyên vặn) KHÔNG chỉnh được nó — vì nó điều khiển một trạng thái khác. Đo thật ai gánh TIME_WAIT, bao lâu, và vì sao nó đặt trần ~470 kết nối/giây tới mỗi đích.

Mạng 03/09/2026 9 phút

Một lookup lẽ ra 50ms treo thành 6 giây — thủ phạm là truy vấn IPv6 mà getaddrinfo lặng lẽ chờ

Một getaddrinfo gửi HAI truy vấn (A và AAAA) và chờ cả hai; nếu AAAA bị một tường lửa im lặng bỏ rơi, lookup treo ~6 giây dù IPv4 đã sẵn ngay từ mili giây đầu. Cộng thêm sự thật ít ai biết: hệ điều hành không hề cache DNS. Đo thật bằng máy chủ DNS tự dựng.

Mạng 03/09/2026 9 phút

Keep-alive cắt 20 request từ 2360ms còn 1195ms — nhưng benchmark trên localhost sẽ bảo bạn nó vô dụng

Tái dùng một kết nối cho 20 request né được 19 lần bắt tay, nhanh gấp đôi trên đường RTT ~55ms (2360ms xuống 1195ms). Nhưng đúng phép đo đó trên localhost chỉ chênh 1ms — vì loopback giấu sạch mọi chi phí tính bằng RTT. Đo thật, và vì sao đừng bao giờ đánh giá keep-alive trên máy mình.

Hệ điều hành 03/09/2026 8 phút

fork một tiến trình 512MB chỉ tốn 28 micro giây — nhưng cái giá không mất, nó chỉ nấp ở lần ghi đầu tiên

fork một tiến trình 512MB chỉ tốn 28µs — nó không sao chép dữ liệu, chỉ chép bảng trang (nhanh hơn nghìn lần). Nhưng chi phí sao chép không mất, nó bị hoãn: ghi vào 64MB heap chung sau fork tốn 20,2ms với 16.419 COW fault, chậm ~200 lần ghi thường. Khi cái gì 'gần như miễn phí', hỏi tiếp chi phí đi đâu.