Chúng tôi đã có một thiết lập môi trường MSMQ khá lớn mà ngày nay đã quyết định dừng lại.
(Mọi thứ đều là VM theo vSphere 4.0 Update 1)
Có 8 Máy chủ Web nhận dữ liệu từ khách hàng trên mạng. Các máy này đều đã cài đặt MSMQ và chỉ cần gửi tin nhắn MSMQ đến máy chủ MSMQ chính. Tin nhắn hiện đang được chất đống trong hàng đợi đi. Các máy này là Windows 2008 Web Edition với 2 Gigs RAM và 2 vCPUs.
Chúng tôi có một máy chủ MSMQ Clustered (Windows Cluster Server) nhận thông báo từ 8 máy chủ web. Không có giới hạn về số lượng dữ liệu có thể có trong hàng đợi. Ổ cứng là 50 Gigs và có 46 Gigs không gian trống. Các máy này là Windows 2008 Enterprise Edition với 8 Gigs RAM và 4 vCPUs. Cụm được sử dụng để có 2 vCPU nhưng tải CPU đã đạt 100%, vì vậy tôi đã tăng cả hai nút của cụm Windows lên 4 vCPU.
Có 4 máy chủ ứng dụng đọc tin nhắn từ hàng đợi và xử lý chúng.
Thông thường tất cả điều này hoạt động hoàn hảo, nhưng không phải hôm nay.
Sáng nay mọi thứ đang chạy rất chậm. 8 máy chủ web hiện đang hiển thị tới 300 nghìn tin nhắn trong hàng đợi bên ngoài. Máy chủ phân cụm hiện hiển thị hơn một triệu tin nhắn trong hàng đợi (một số thấp tới 200k).
Nếu tôi nhìn vào perfmon tại 8 máy chủ web thì nó cho thấy tôi đang trung bình 2 tin nhắn được gửi mỗi giây. Nếu tôi nhìn vào perfmon trên cụm thì nó hiển thị ~ 7 tin nhắn mỗi giây đang đi vào cụm.
Các máy đang đọc không nhận được nhiều tin nhắn. Các dịch vụ nhanh nhất đang nhận được 10-12 tin nhắn mỗi giây, chậm nhất là hiển thị 0 hoặc 1.
Những thay đổi duy nhất gần đây là chúng tôi đã thay đổi số lượng máy chủ web mặt trước từ 4 thành 8. Chúng tôi đã làm điều này khoảng 2 tuần trước mà không gặp vấn đề gì. Vào thứ ba, chúng tôi đã cung cấp cho họ xuống để xem 4 người còn lại có thể xử lý tải như thế nào. Vào thứ Tư, chúng tôi đã bật bốn máy mới hơn.
Đĩa trên cụm hiển thị IO rất thấp và không có hàng đợi.
Để an toàn, tôi đã cập nhật PowerPath lên phiên bản mới nhất nhưng điều đó không giúp được gì.
8 máy chủ web nằm trên một vlan và các máy chủ của Cluster và các máy chủ ứng dụng nằm trên một vlan thứ hai. Không có tường lửa giữa các vlan.
Và không có gì hữu ích trong ứng dụng hoặc nhật ký hệ thống trên bất kỳ máy nào.