2008-11-12 26 views
8

Tôi có một ứng dụng web, được viết bằng ColdFusion, định kỳ bắt đầu sử dụng 100% CPU của máy chủ và làm hỏng dịch vụ ColdFusion.Thông báo CPU của Windows cho ứng dụng Coldfusion bị lỗi

Vì tôi không thể tự mình tái tạo vấn đề, tôi muốn tìm một tiện ích sẽ thông báo cho tôi qua email khi việc sử dụng CPU bắt đầu tăng lên, vì vậy tôi có thể nhảy trên máy chủ, xem FusionReactor để xem những gì đang xảy ra và xác định mã không đúng.

Tôi đã Googled và không thể tìm thấy một tiện ích phù hợp, vì vậy tôi nghĩ rằng tôi sẽ hỏi liệu các lập trình viên khác đã tìm thấy một công cụ có thể thực hiện loại giám sát này hay không. Với các chi tiết cụ thể về nhu cầu của tôi, tôi không muốn viết công cụ giám sát của riêng mình.

Nếu bạn có các đề xuất khác để tiếp cận vấn đề chung, tôi cũng muốn nghe những đề xuất đó.

Câu trả lời cho câu trả lời:

Sử dụng Windows perfmon để kích hoạt dòng lệnh đầy hứa hẹn. Bất cứ ai có thể chỉ cho tôi một hướng dẫn về cách làm điều đó?

Chúng tôi không có hệ thống giám sát được thiết lập để nhận bẫy SNMP.

Chúng tôi đang chạy ColdFusion 8 Standard Edition, không bao gồm công cụ theo dõi hiệu suất ColdFusion-- chỉ Enterprise mới bao gồm những công cụ đó.

Câu trả lời của Peter Boughton có thể cho phép tôi giải quyết vấn đề, nhưng nó không giúp tôi giải quyết vấn đề một cách chủ động khi CPU bắt đầu tăng đột biến, vì vậy tôi vẫn đang tìm giải pháp thông báo.

Trả lời

4

Tôi đã gặp sự cố tương tự cách đây vài tuần và được chuyển hướng đến một chương trình có tên là AlwaysUp.

http://www.coretechnologies.com/products/AlwaysUp/

Màn hình bất kỳ quá trình bởi bất kỳ sự kết hợp của:

  • năng bảo mật bằng Memory
  • sử dụng CPU
  • unresponsiveness
  • Chạy một kịch bản tùy chỉnh để xác định xem nó nên được thiết lập lại

Từ đây, bạn có thể khởi động lại dịch vụ hoặc gửi email thông báo hoặc chạy tập lệnh để ghi lại mọi thứ, v.v.

Có bản trình diễn 30 ngày, tôi đã được bán vào ngày thứ 2. bạn đến đáy của vấn đề.

+0

Cảm ơn, điều đó nghe có vẻ như những gì tôi đang tìm kiếm để giải quyết vấn đề dai dẳng nhưng không thường xuyên này. – davidcl

+0

Không có vấn đề gì. Tôi ghét công việc hack nhưng điều này đã giải quyết được vấn đề cho tôi. Nếu nó tự biến thành một vấn đề lớn hơn, tôi sẽ chú ý đến nó. –

2

Trên Windows, bạn có thể sử dụng các công cụ hiệu suất và giám sát (perfmon) có tiêu chuẩn với Windows. Khi CPU đạt đến một điểm nhất định, nó có thể kích hoạt một thông báo SNMP có thể được chọn bởi hầu hết các công cụ giám sát hệ thống và cảnh báo bạn theo cách đó. Nó cũng có thể chạy một lệnh hoặc làm nhiều thứ hữu ích khác có thể giúp bạn làm móng nó xuống.

+0

Bạn có thể cung cấp thêm thông tin chi tiết về việc có perfmon chạy lệnh không? Tôi nghĩ rằng sẽ đáp ứng nhu cầu của tôi. – davidcl

1

Một giải pháp thay thế khác có sẵn cho bạn nếu bạn đang chạy Coldfusion 8 - màn hình hiệu suất. Bạn có thể thiết lập cảnh báo để gửi email cho bạn, hãy gọi một CFC khác cho các tiêu chí khác nhau.

Tôi sử dụng máy chủ giám sát rất nhiều - đó là một công cụ tuyệt vời mặc dù tôi đã không sử dụng các cảnh báo bản thân mình quá nhiều họ có lẽ cũng đáng xem xét khi họ nhìn dễ dàng để thiết lập.

Đối với phương pháp tiếp cận tổng thể ...

Trong công ty chúng tôi, chúng tôi sử dụng Windows Perfmon từ một máy chủ để thăm dò ý kiến ​​tất cả các máy chủ CF của chúng tôi mỗi 30 giây để có được một số số liệu như tổng CPU và thời gian đáp ứng trung bình. Chúng tôi đăng nhập vào tệp CSV. Mỗi vài phút một nhiệm vụ theo lịch trình chạy mà đọc chi tiết của các tập tin này và lưu chúng vào một bảng DB. Sau đó nó cắt ngắn các tập tin để chúng không quá lớn.

Cuối cùng, mỗi ngày một lần, chúng tôi nhận được báo cáo gửi chi tiết tất cả các chỉ số máy chủ đến bộ phận kỹ thuật của chúng tôi để vẽ biểu đồ CPU và thời gian phản hồi trung bình cho tất cả các máy chủ của chúng tôi.

Chúng tôi nhận thấy đây là một cách tuyệt vời để duy trì hiệu suất máy chủ trong xu hướng phát triển và xu hướng phát triển (chẳng hạn như sử dụng CPU kém) sớm. Chúng tôi thấy nó rất hiệu quả bởi vì bạn không thể biết liệu bạn có đang hoạt động không tốt cho đến khi bạn bắt đầu đo lường số liệu của mình.

1

Bạn không nhất thiết cần thông báo này khi nó xảy ra - FusionReactor có các tệp nhật ký, vì vậy bạn có thể kiểm tra những thông tin này sau khi xảy ra và xác định các tập lệnh đang chạy tại thời điểm đó. Và nếu bạn không chắc chắn khi nó đang xảy ra, tôi khá chắc chắn một trong các bản ghi có chứa bộ nhớ và sử dụng CPU - mặc dù tôi không thể nhớ tên những gì là ngay bây giờ, nhưng có một poke về trong các bản ghi và bạn sẽ tìm thấy thông tin liên quan.

+0

Điểm tốt. Tôi có thể cần phải mở rộng đăng nhập FR một chút để đảm bảo các nhật ký yêu cầu được giữ lại đủ lâu để tương quan chúng với các bản ghi tài nguyên, nhưng đó là một điểm tuyệt vời. – davidcl

Các vấn đề liên quan