Đây là một chút khó khăn để trả lời mà không biết loại sản phẩm "ngoài kệ" nào bạn đang cố gắng đánh giá. Bạn đang tìm kiếm phản hồi UI, thông lượng (ví dụ: email, giao dịch/giây), thời gian khởi động, v.v. - tất cả đều có tiêu chí khác nhau về các biện pháp bạn nên theo dõi và các công cụ khác nhau để thử nghiệm hoặc đánh giá. Nhưng để trả lời một số câu hỏi chung của bạn:
Độ tin cậy - điều này là quan trọng. Hãy thử để đảm bảo rằng bất cứ điều gì bạn đang đo có ít chạy để chạy phương sai. Sử dụng kỹ thuật thực hiện một số lần chạy cùng một kịch bản, loại bỏ các ngoại lệ (tức là thấp nhất và cao nhất) và đánh giá giá trị trung bình/tối đa/phút/trung bình của bạn. Nếu bạn đang làm một số loại kiểm tra thông lượng, hãy xem xét làm cho nó chạy dài để bạn có một bộ mẫu tốt. Ví dụ, nếu bạn đang xem một cái gì đó như Microsoft Exchange và do đó đang sử dụng quầy perf của họ, hãy thử để đảm bảo rằng bạn đang dùng mẫu thường xuyên (một lần mỗi giây hoặc vài giây) và có chạy thử nghiệm cho 20 phút hoặc lâu hơn. Một lần nữa, chop ra vài phút đầu tiên và vài phút cuối cùng để loại bỏ bất kỳ tiếng ồn khởi động/tắt máy nào.
Heisenburg - khó khăn. Trong hầu hết các hệ thống hiện đại, tùy thuộc vào ứng dụng/biện pháp bạn đang đo lường, bạn có thể giảm thiểu tác động này bằng cách thông minh về những gì/cách bạn đang đo lường. Đôi khi (như trong ví dụ Exchange), bạn sẽ thấy gần 0 tác động. Cố gắng sử dụng ít nhất các công cụ xâm lấn nhất có thể. Ví dụ: nếu bạn đang đo thời gian khởi động, hãy xem xét sử dụng xperfinfo và sử dụng các sự kiện được tích hợp vào hạt nhân. Nếu bạn đang sử dụng perfmon, đừng làm ngập hệ thống với các quầy không liên quan mà bạn không quan tâm. Nếu bạn đang thực hiện một số thử nghiệm chạy dài hạn, hãy lấy lại khoảng thời gian lấy mẫu của bạn.
Cũng cố gắng loại bỏ bất kỳ nguồn biến đổi môi trường hoặc nguồn gây nhiễu nào. Nếu bạn đang làm một cái gì đó mạng chuyên sâu, hãy xem xét cô lập mạng. Hãy thử tắt mọi dịch vụ hoặc ứng dụng mà bạn không quan tâm. Hạn chế bất kỳ loại đĩa IO, hoạt động bộ nhớ chuyên sâu, vv Nếu đĩa IO có thể giới thiệu tiếng ồn trong một cái gì đó là CPU bị ràng buộc, xem xét việc sử dụng SSD.
Khi thiết kế thử nghiệm của bạn, hãy lưu ý đến tính lặp lại. Nếu bạn thực hiện một số loại kiểm tra loại microbenchmark (ví dụ: kiểm tra đơn vị perf) thì có hỗ trợ cơ sở hạ tầng của bạn chạy cùng một hoạt động n lần giống hệt nhau. Nếu bạn đang lái xe giao diện người dùng, cố gắng không thể chất di chuột và thay vào đó sử dụng lớp trợ năng cơ bản (MSAA, UIAutomation, v.v.) để nhấn điều khiển trực tiếp theo lập trình.
Một lần nữa, đây chỉ là lời khuyên chung. Nếu bạn có thêm chi tiết cụ thể thì tôi có thể cố gắng theo dõi với nhiều hướng dẫn thích hợp hơn.
Tận hưởng!
Câu hỏi này giống như hố đen .. tôi không thể tin rằng không ai có suy nghĩ về điều này. – Nix
Bạn đang tìm kiếm bất kỳ lợi ích hiệu suất cụ thể nào, ví dụ: sử dụng bộ nhớ, tốc độ, thông lượng, truy cập I/O? Perfmon (giả sử bạn đang sử dụng Windows) là tốt để sử dụng cho những điều này, vì các bộ đếm vẫn đang được ghi vào, ngay cả khi bạn không sử dụng chúng. –