Gần đây tôi đã di chuyển một bộ máy chủ Windows Server 2008 R2 / IIS 7.5 sang máy chủ mới chạy Windows Server 2012 / IIS 8.
Tôi đang gặp một số hành vi kỳ lạ từ IIS. Chúng tôi có 2 máy chủ giống hệt nhau, mỗi máy chủ đang chạy 2 trang web, mỗi trang web trên nhóm ứng dụng của riêng họ. Mã cho mỗi trang web là giống hệt nhau. (Nghĩa đen là ... cùng dll và mọi thứ, chỉ khác cấu hình một chút).
Nhóm ứng dụng được thiết lập để tái chế theo lịch mỗi 24 giờ, nhưng trong khoảng thời gian 24 giờ đó, việc sử dụng CPU của quy trình nhân viên w3wp tăng lên 12,5% (máy chủ có 8 bộ xử lý, vì vậy tôi không nghĩ đó là một sự trùng hợp).
Khi mức sử dụng CPU tăng vọt, nó sẽ KHÔNG quay trở lại cho đến khi ứng dụng tái chế. Theo như tôi có thể nói, ứng dụng này không làm gì cả và xử lý KHÔNG yêu cầu tại thời điểm này. Tôi có thể chặn tất cả lưu lượng truy cập đến máy chủ và việc sử dụng CPU sẽ chỉ ở đó. Tôi thậm chí có thể RESTART trang web và việc sử dụng CPU vẫn như cũ. Cách duy nhất để thiết lập lại mức sử dụng CPU là tái chế hoặc khởi động lại nhóm ứng dụng mà nó chạy.
Tôi phần nào chắc chắn rằng vấn đề này không liên quan gì đến mã của tôi, nhưng một số loại cấu hình IIS kém hoặc thay đổi trong IIS 8 hoạt động kém với cấu hình phần cứng hoặc một cái gì đó?
Không chắc nó có quan trọng hay không, nhưng đây là những máy chủ của Rackspace Performance Cloud.
Dưới đây là ảnh chụp màn hình để hiển thị cho bạn tải CPU theo thời gian trên các máy chủ này (mũi tên màu xanh lá cây chỉ vào thời điểm nhóm ứng dụng tái chế. Bạn có thể thấy rằng mỗi cao nguyên là bội số tổng hợp của 12,5%:
Có ai quan sát hành vi này? Tôi đã tìm thấy câu hỏi này từ năm 2009 với một người có vấn đề tương tự với IIS 6:
IIS w3wp sử dụng cpu cao không có lưu lượng
Bất kỳ sự giúp đỡ nào cũng được đánh giá cao