Việc thiết lập một VM có nhiều hơn 1 cpu / lõi có thực sự cải thiện hiệu năng không?


11

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?


3
Thật đáng để ghi nhớ một điều khi định cỡ khách ảo: Nếu nó có lợi cho việc cài đặt trên máy thật thì nó sẽ có lợi cho nó như một máy ảo và ngược lại. Và quan trọng nhất trong tất cả: Không có gì kỳ diệu xảy ra đối với các yêu cầu hệ thống hoặc ứng dụng chỉ vì bạn đã ảo hóa một cái gì đó .
Rob Moir

Câu trả lời:


8

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ế.


6

Để 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.


Không nhất thiết - bạn thực sự sẽ chỉ thấy hiệu suất được cải thiện nếu các ứng dụng chạy trên VM có thể tận dụng các hệ thống đa lõi. Thật không may, mặc dù là năm 2011, nhiều ứng dụng không có.
EEAA

@ErikA Điểm công bằng - phân luồng ứng dụng sang một bên, tôi chỉ nói rằng chỉ với 2 lõi vật lý, 2 vCPU trên một VM luôn tốt hơn 4 vCPU.
Shane Madden

vâng, 100% đồng ý về điểm đó.
EEAA

5

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."

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.