2012-08-15 26 views
7

Tôi muốn tiến hành kiểm tra điểm chuẩn trên một vài máy chủ mà tôi quản lý và muốn có thể thiết lập kịch bản và thứ tự các sự kiện/tự động của riêng tôi.Thư viện điểm chuẩn có thể sử dụng được từ C#

Vì vậy, tôi tự hỏi liệu có bất kỳ thư viện nào có thể được sử dụng để thực hiện đo điểm chuẩn các khía cạnh khác nhau của máy tính cửa sổ như CPU, đĩa IO và RAM.

Cập nhật 1: Vì có vẻ là không có thư viện có sẵn để thực hiện điều này, tôi cũng sẽ chấp nhận câu trả lời chỉ vào ví dụ hoặc hướng dẫn về cách người ta có thể kiểm tra CPU, ổ đĩa và hiệu suất bộ nhớ với C#.

Cập nhật 2 có thư viện nào tốt cho ngôn ngữ này không?

+0

Tôi khuyên bạn nên đọc phần này: http://www.codeproject.com/Articles/8590/An-Introduction-To-Performance-Counters, phần giới thiệu tốt cho [PerformanceCounter] (http://msdn.microsoft) .com/en-us/library/system.diagnostics.performancecounter.aspx) lớp mà tôi nghĩ bạn sẽ thấy hữu ích. – Bridge

+0

Điều đó có vẻ thú vị nhưng có thể không chính xác những gì tôi đang tìm kiếm. Các ví dụ trên codeproject dường như là về đo lường hiệu suất hiện tại không phải là về lấy hệ thống tối đa của nó và nhìn thấy những gì nó có thể làm. Có lẽ tôi có thể sử dụng nó cùng với một số mã mà có CPU/đĩa/bộ nhớ đến giới hạn của nó và xem những gì nó được quá. – JensB

+0

Câu hỏi rất thú vị. Sẽ là tuyệt vời nếu bạn có thể summerise phát hiện của bạn và trả lời ở đây :). Ahmm với C# bạn chỉ nhắm đến Windows Server? – Gero

Trả lời

1

Điều này có thể nằm ngoài phạm vi, tuy nhiên tôi đang tìm kiếm nội dung tương tự ở cấp thử nghiệm đơn vị và tìm thấy this MSDN topic about Creating and Editing Load Tests.

+0

Điều này có vẻ như nó có thể được sử dụng để búa một ứng dụng với các yêu cầu khác nhau .. vì vậy trong lý thuyết tôi có thể có thể bão hòa cpu/đĩa/ram của tôi nếu tôi chạy thử nghiệm đối với mã sử dụng các loại tài nguyên .. Không chính xác những gì tôi đã có trong tâm trí, nhưng cảm ơn bạn cho tip. – JensB

+0

@wokawaka Trong môi trường máy chủ, bạn không chỉ ném nội dung vào máy chủ và xem cách nó xử lý. Bạn viết chương trình của bạn thực hiện công việc bạn cần làm, sau đó bạn búa chương trình, và xem *** nơi *** sự chậm lại được gây ra. Nếu chậm lại là từ một vòng lặp tối ưu hóa kém, bạn sửa mã của bạn. Nếu chậm lại là từ đĩa chậm I/O, bạn nâng cấp đĩa I/O của bạn với ổ đĩa nhanh hơn. Hãy suy nghĩ về nó theo cách này, câu hỏi của bạn là tìm kiếm "The Best" khi bạn cần phải tìm kiếm "The Best tại làm bất cứ công việc tôi sẽ cung cấp cho các máy chủ". –

+0

@wokawaka Suy nghĩ về cụm từ của tôi nhiều hơn, tôi nghĩ rằng tôi cần phải được rephrased là "Các thiết bị đó sẽ đáp ứng nhu cầu của tôi cho bất cứ công việc tôi sẽ cung cấp cho các máy chủ". Nếu bạn chi tiêu 15.000 đô la cho [RAMSAN] (http://en.wikipedia.org/wiki/Texas_Memory_Systems) khi RAID 0 thiết lập một cặp đĩa $ 200 raptor sẽ hoạt động tốt và bạn ở nơi nhân viên của tôi, bạn sẽ không là nhân viên của tôi lâu. –

3

Bạn có thể sử dụng khung nguồn mở này BenchmarkDotNet để đo điểm chuẩn CPU. Nó bao gồm đồng hồ bấm giờ sử dụng, GC trước cuộc gọi, hâm nóng, thiết lập ưu tiên của quá trình, thred, ProcessorAffinity-mặt nạ, api cho các cuộc thi chuẩn và giao diện điều khiển đầu ra tốt đẹp với kết quả.

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