Nhóm ứng dụng IIS Sử dụng CPU cao mặc dù không có yêu cầu


10

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%:

nhập mô tả hình ảnh ở đây

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

Câu trả lời:


1

Có cùng một vấn đề với Sharepoint 2013 và IIS 8 vào năm 2012 ... Chúng tôi không bao giờ gặp rắc rối, mà thay vào đó đã hạ cấp xuống SP2013 trên 2008 R2 và tất cả đều ổn.


2
Đàn ông. sau tất cả những công việc tôi vừa đưa vào di cư, đây không phải là câu trả lời mà tôi hy vọng ...: /
Leland Richardson

1

Bạn có thể thử sử dụng công cụ Chẩn đoán gỡ lỗi để theo dõi nguyên nhân gây ra sự cố. Nó thường là để khắc phục sự cố và rò rỉ bộ nhớ, nhưng có thể giúp tìm ra thành phần nào gây ra sự cố.


HOw sử dụng công cụ Chẩn đoán gỡ lỗi theo chương trình khi high CPU or RAM more 90%nào?
Kiquenet

@Kiquenet Bạn có thể thử lấy kết xuất bộ nhớ của quá trình và sau đó phân tích nó trên một số máy khác. Tôi đang đối mặt với một vấn đề tương tự và đã có thể chụp một bãi chứa trong <1 phút trên máy chủ với mức sử dụng CPU ~ 100%
Piyush Saravagi

vâng, sau đó chụp kết xuất trong <1 phút trên máy chủ với mức sử dụng CPU 100% theo chương trình ?
Kiquenet

1

Điều này thực sự trông giống như một số mã bị mắc kẹt trong một vòng lặp vô hạn.

Một yêu cầu được đưa ra, IIS bắt đầu phục vụ nó, một cái gì đó (có thể là lỗi) kích hoạt hành vi này, một luồng công nhân đi vào một vòng lặp vô hạn và chốt CPU tới 100%, và sau đó nó sẽ duy trì theo cách này cho đến khi nhóm ứng dụng được tái chế.

Ngay cả khi không có yêu cầu mới nào được đưa vào, CPU vẫn được sử dụng vì luồng bị kẹt không bao giờ thực sự chấm dứt.

Đôi khi một yêu cầu mới gây nên hành vi này một lần nữa , và sau đó bạn sẽ có được hai CPU bị mắc kẹt (hoặc ba, hoặc bốn ...).

Tái chế nhóm ứng dụng tất nhiên chấm dứt tất cả các luồng công nhân, do đó vấn đề được giải quyết ... cho đến khi nó xảy ra lần nữa.


0

Bạn có thể đính kèm cấu hình CPU vào quy trình w3wp và xem xét những gì đang diễn ra ở đó. Bạn sẽ có thể thấy những gì tiêu thụ chu kỳ CPU.


Làm cách nào để gắn trình cấu hình CPU vào quy trình w3wp theo chương trình khi CPU cao hoặc RAM hơn 90% ?
Kiquenet

0

Trông giống như một vòng lặp vô tận với tôi. Tôi đã thấy điều này một vài lần, mặc dù IIS nói rằng không có yêu cầu nào nổi bật. Tôi không chắc nó có thể như thế nào, nhưng đây chính xác là những gì bạn sẽ thấy. Điều khó khăn là IIS không đăng nhập các yêu cầu cho đến khi chúng hoàn thành, vì vậy việc tìm ra yêu cầu nào kích hoạt hành vi này là khó khăn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.