Khi tôi sử dụng máy trạm VMware, tôi có thể thiết lập VM với nhiều lõi. Tôi thực sự đang sử dụng nó trên một máy có lõi kép và 4 lõi logic. Vậy tôi có thực sự cải thiện hiệu năng VMS bằng cách sử dụng nhiều lõi hơn trên VM không?
Khi tôi sử dụng máy trạm VMware, tôi có thể thiết lập VM với nhiều lõi. Tôi thực sự đang sử dụng nó trên một máy có lõi kép và 4 lõi logic. Vậy tôi có thực sự cải thiện hiệu năng VMS bằng cách sử dụng nhiều lõi hơn trên VM không?
Câu trả lời:
nó phụ thuộc vào máy ảo đang chạy cái gì, một khách trên một máy có số lõi n sẽ hoạt động tốt nhất ở các lõi n-1 được chỉ định miễn là khách có khả năng sử dụng nhiều CPU một cách hiệu quả. Thật không may, cách đơn giản nhất để xác định điều này là thử nó và xem. Tôi thường bắt đầu với 2 và dừng khi hết hiệu suất. Điển hình là 2 lõi là nơi tôi thấy "điểm ngọt". Vài kết hợp ứng dụng / os mà tôi chạy qua sẽ có quy mô tốt hơn thế.
Để làm rõ, bạn đang nói rằng bạn có CPU lõi kép và bạn đã chỉ định 4 CPU ảo trên VM?
Trong trường hợp này, không; nếu bạn chỉ định nhiều vCPU hơn số lõi thực thi vật lý, bạn thực sự sẽ thấy hiệu suất giảm nhẹ do chi phí chia sẻ 2 lõi vật lý trong số 4 lõi ảo (cộng với mọi thứ chạy trên máy chủ vật lý).
Bạn sẽ thấy hiệu suất tốt nhất từ VM bằng cách gán cho nó 2 vCPUs.
Chúng tôi đã thử nghiệm cách đây một thời gian ( xem câu hỏi của tôi từ một năm trước ) với việc gán vCPU từ lõi vật lý so với lõi logic (luồng) trong CPU lõi tứ với siêu phân luồng (8 vCPU có thể gán được xuất hiện). Như các câu trả lời tôi nhận được sau đó đã đề xuất - và kinh nghiệm của chúng tôi đã được đưa ra - bạn nên phân bổ số lượng lõi tối thiểu bạn có thể cho mỗi khách để cho phép nó thực hiện.
Khi gán nhiều vCPU hơn các lõi vật lý có sẵn trên máy chủ, nếu khách đang trong quá trình siêu phân luồng tải đồng thời không đủ nhanh để chuyển ngữ cảnh CPU giữa các luồng để mô phỏng hiệu quả CPU khác. Điều này có thể dẫn đến những thứ rất khó chịu cho tất cả khách, bao gồm cả khóa và hết thời gian có thể yêu cầu khởi động lại, fsck, và tệ hơn là lên ngăn xếp. Ngay cả khi những thứ này không xảy ra, hiệu suất thường sẽ chậm hơn đối với khách hơn là nhanh hơn.
Khi @Chris S đưa nó vào bình luận của mình hồi đó, "luôn luôn phân bổ ít nhất bạn có thể thoát khỏi và bạn sẽ tránh được những cơn đau đầu lớn."