Số lượng kết nối lớn là gì? Erlangs VM sử dụng một bánh xe hẹn giờ trong nội bộ để xử lý các bộ đếm thời gian để nó vảy khá tốt lên đến một số nghìn kết nối. Sau đó, bạn có thể gặp rắc rối.
Thông thường, mẹo là nhóm các nhóm lại với nhau theo giờ. Đây cũng là những gì hạt nhân có xu hướng làm. Ví dụ, nếu bạn có một bộ đếm thời gian phải tỉnh táo trong 200ms, bạn sẽ tự lên lịch trước thời gian không phải trong lần tiếp theo, mà là bộ hẹn giờ 200ms tiếp theo. Điều này có nghĩa là bạn sẽ đợi ít nhất 200ms và có lẽ 400ms, 300ms là điển hình. Bởi xấp xỉ bộ đếm thời gian như thế này, bạn có thể chạy nhiều hơn nữa vì bạn có thể có một bộ đếm thời gian duy nhất đánh thức số lượng lớn các quy trình trong một lần. Nhưng tùy thuộc vào tần số hẹn giờ và số lượng bộ đếm thời gian một tiêu chuẩn send_after/3
có thể là đủ.
Trong mọi trường hợp, tôi sẽ bắt đầu bằng cách giả sử nó có thể mở rộng và xử lý sự cố nếu không thể thực hiện thời gian gần đúng như được hình dung ở trên.
Nguồn
2012-10-20 15:38:43