Không, tôi không nghĩ rằng có bất kỳ cách áp dụng chung nào để xác định các yêu cầu tối thiểu không liên quan đến thử nghiệm trên một số phần cứng tham chiếu được chỉ định.
Bạn có thể tìm thấy một số hạn chế bằng cách sử dụng Máy ảo thuộc loại nào đó - dễ dàng sửa đổi các thông số của một số máy ảo hơn sửa đổi phần cứng. Nhưng có những hiện vật được tạo ra bởi sự tương tác giữa máy chủ và máy ảo có thể ảnh hưởng đến kết quả của bạn.
Thật khó để xác định tiêu chí cho "hiệu suất được chấp nhận" nói chung mà không biết nhiều về các trường hợp sử dụng.
Nhiều chương trình sẽ sử dụng nhiều tài nguyên hơn nếu chúng khả dụng, nhưng cũng có thể mang lại ít tài nguyên hơn.
Ví dụ: hãy xem xét một chương trình sử dụng một nhóm luồng có kích thước dựa trên số lõi CPU. Khi chạy trên một CPU có nhiều lõi hơn, nhiều công việc hơn có thể được thực hiện song song, nhưng đồng thời chi phí do tạo luồng, đồng bộ hóa và tập hợp các kết quả tăng lên. Các hiệu ứng là phi tuyến tính trong số lượng CPU và phụ thuộc rất nhiều vào chương trình và dữ liệu thực tế. Tương tự như vậy, hiệu ứng giảm phạm vi bộ nhớ khả dụng từ khả năng ném OutOfMemory-Errors cho một số đầu vào (nhưng có thể không dành cho người khác) chỉ chạy GC một chút thường xuyên hơn (và hiệu ứng của là phụ thuộc vào chiến lược GC, từ đáng chú ý đóng băng chỉ một chút tải CPU).
Tất cả những điều đó thậm chí không cân nhắc rằng các chương trình thường không sống riêng rẽ - chúng chạy trên một hệ điều hành song song với các tác vụ khác cũng tiêu thụ tài nguyên.
Có một JVM đang chạy một số tác vụ hoặc một số JVM khác nhau không? Có phải họ đang chạy không ngừng, hoặc là họ gây ra bởi hệ điều hành (cron ví dụ) và ngừng chạy khi kết thúc? – Thierry
Trong trường hợp cụ thể này, tôi có chương trình với nhiệm vụ máy chủ trên JVM singe, và nó sẽ làm việc vĩnh viễn, nhưng trên thực tế tôi đang tìm một số giải pháp chung, thậm chí không chỉ cho các chương trình Java. – Marcon