Tôi tò mò về cách mọi người tiếp cận câu hỏi về bản chất sau:Làm cách nào để ước tính phần cứng cần thiết để hỗ trợ số lượng người dùng/giao dịch X?
'chúng ta cần tạo Ứng dụng A (ví dụ: trang web thương mại điện tử). Nó sẽ sử dụng công nghệ B (ví dụ java). Nó phải hỗ trợ C (ví dụ 200) số lượng người dùng đồng thời. Chúng ta cần loại phần cứng nào? '
Đặc điểm kỹ thuật phần cứng sẽ liên quan đến số lượng CPU cần thiết và có lẽ lượng bộ nhớ cho câu trả lời cơ bản.
Để đơn giản hóa ví dụ của mình, tôi sẽ gắn bó với công nghệ Java trong câu hỏi của mình, nhưng tôi thực sự muốn có một lời khuyên trung lập về công nghệ.
Tôi hiểu rằng một câu hỏi như thế liên quan đến nhiều yếu tố bổ sung. Ví dụ, một khung công tác khác (kiến trúc Wicket vs Struts vs Spring vs EJB J2EE thuần túy), số lượng các tầng phân tán (một thiết lập hộp hoặc thiết lập 3 tầng). Tuy nhiên, cho rằng một người có thể không có kinh nghiệm trước với công nghệ đã cho (hoặc có thể không có cơ hội để thực hiện kiểm tra tải về việc tìm ra phần cứng cần thiết), và câu hỏi đó luôn xuất hiện trong một cuộc thảo luận dự án ban đầu. (và một câu trả lời là điều cần thiết để làm cơ sở để tiến lên phía trước), làm cách nào để bạn đưa ra câu trả lời?
Tôi đã suy nghĩ về việc giải quyết vấn đề bộ nhớ cần thiết bằng cách ước tính số lượng bộ nhớ mà mỗi phiên người dùng có thể thực hiện, nhưng chắc chắn sẽ có chi phí máy ảo/khung.
Nhưng nói chung, tôi dường như không thể lý giải ra một giải pháp tốt cho câu hỏi này, mà dường như luôn bật lên. Một thử nghiệm tải chắc chắn sẽ giúp giải quyết nó, nhưng sau đó vào thời điểm đó dự án đã sẵn sàng, và đây là câu hỏi mà một khách hàng thường muốn có câu trả lời trước khi cam kết với một dự án.
Mong rằng cộng đồng có thể tư vấn về các phương pháp tiếp cận tốt cho vấn đề này.
Cảm ơn.