Siêu phân luồng và máy ảo?


15

Tôi đã xem xét chủ đề này: Hyper-V và Hyper-threading: Bật hay tắt? , nhưng câu trả lời duy nhất là Windows cụ thể ....

Tôi đang xây dựng một máy chủ VM (sử dụng Proxmox VE nếu điều đó tạo ra sự khác biệt) và đang tự hỏi về việc siêu luồng có thể ảnh hưởng đến máy ảo như thế nào ...

Cụ thể, nếu tôi sử dụng tối đa số lượng máy ảo, liệu siêu phân luồng có giúp ích gì không, hay làm giảm hiệu suất?

Ngoài ra, các máy ảo lớn nhất sẽ là Terminal Server với ~ 30 máy khách (4 lõi / 8 GB RAM) và một máy chủ tệp nếu điều đó có ích.

Cập nhật: Máy chủ là Dell R410 với RAID 1TB, RAM 32 GB và Intel Xeon E5530 kép (Tôi không chắc chắn về model chính xác, nhưng đó là E55xx với 2+ Ghz)

Cập nhật: Hầu hết các máy ảo sẽ có trên KVM.


Vui lòng cung cấp thông số kỹ thuật của máy chủ bạn định sử dụng.
ewwhite

Cũng tò mò. Tại sao Promox VE so với ESXi?
ewwhite

Có lẽ do giới hạn ESXI của 16GB ram trên giấy phép miễn phí
Tacticus

3
Tôi chọn Proxmox thay vì ESXi vì Proxmox có một vài tính năng bổ sung như quản lý hoàn chỉnh từ gui web, phân cụm, thông số kỹ thuật của máy chủ không bị giới hạn một cách giả tạo bởi cấp phép và một vài thứ khác tôi không thể nhớ được. Thêm vào đó, 2.0 sẽ bao gồm xác thực AD rất hữu ích cho chúng tôi, không chắc ESXi có ...
Soviero

1
Bạn đã xem oVirt chưa?
dyasny

Câu trả lời:


12

Nói chung, tôi để HyperThreading ON cho các máy chủ lưu trữ VM (VMWare ESXi, KVM, HyperV, v.v.). Điều này áp dụng cho Intel Nehalem và các CPU mới hơn (dòng 5500 trở lên). Các luồng bổ sung có sẵn để lên lịch cho nhiều VM.

Bạn cũng có thể muốn đánh giá lại kích thước của hệ thống khách của bạn. Thông thường, tốt nhất là bắt đầu phân bổ CPU với các máy ảo. Vì bạn đang nói về một máy chủ đầu cuối, tôi thực sự sẽ chuyển nó sang 2 CPU ảo thay vì 4 vCPU. Trình ảo hóa sẽ dễ dàng hơn trong việc sắp xếp thời gian CPU cho máy ảo với số lượng lõi nhỏ hơn . Mặc dù vậy, RAM vẫn rất quan trọng, vì vậy hãy đảm bảo cung cấp nhiều khả năng.

Xem: http : // omtcon accept.com/wp/?p=14


Làm thế nào chính xác là hai chủ đề nhanh hơn bốn chủ đề ?
Soviero

3
Không nhanh hơn ... Dễ dàng hơn để lên lịch. Xem chỉnh sửa của tôi. Máy bạn đề cập sẽ có tổng số 8 lõi (16, với HyperThreading). Cố gắng tìm các tài nguyên để lên lịch cho khách 4-vCPU khó hơn so với 2-vCPU. Bạn sẽ có nhiều sự tranh chấp (và do đó, hiệu suất thấp hơn). Nếu bạn có kế hoạch chạy các khách ảo khác trên máy chủ này, sẽ hợp lý khi sử dụng các khách vCPU 1 và 2.
ewwhite

3
Quan điểm của bạn về lập lịch chỉ áp dụng cho các trình ảo hóa thực hiện "lập lịch theo băng nhóm" nơi họ cố gắng chạy một số xấp xỉ "tất cả hoặc không" của các bộ xử lý ảo cùng một lúc. Đối với các siêu giám sát thực hiện việc này, việc thêm nhiều bộ xử lý ảo sẽ khiến VM khó lên lịch hơn. Tôi hiểu rằng Kevin đã cập nhật câu hỏi của anh ấy để quy định rằng anh ấy muốn sử dụng KVM, chủ yếu. Nhưng tôi muốn chỉ ra rằng Hyper-V không thực hiện lập kế hoạch băng đảng. Nó dựa vào paravirtualization của hệ điều hành khách để tránh sự cần thiết phải lập lịch trình băng đảng.
Jake Oshins

Tôi không biết điều đó về Hyper-V, nhưng điều này áp dụng cho các nhà ảo thuật lớn khác.
ewwhite

1
KVM không có lịch trình băng đảng. Trên thực tế, chỉ VMWare làm điều này và thậm chí họ đã thêm một số cơ chế để giảm bớt sự điên rồ lên lịch trình của băng đảng trong v5
dyasny

4

Nó thực sự phụ thuộc. Nếu, như bạn đang nói, bạn sẽ "tối đa hóa", mà tôi cho là có nghĩa là tổng thể CPU (gán nhiều lõi CPU ảo hơn mức bạn có sẵn, hoặc chính xác là nhiều như bạn có sẵn), thì HT chắc chắn phải là trên.

Nếu bạn không tổng thể, thì tốt hơn là nên kiểm tra theo tải trọng cụ thể của bạn - đôi khi HT thực sự có thể làm giảm hiệu suất.


Tôi có kế hoạch phân bổ chính xác số lượng lõi / luồng có sẵn, nhưng tôi không có kế hoạch phân bổ quá mức.
Soviero

Bạn có nghĩ hệ điều hành máy chủ không cần thời gian CPU không? Và nếu bạn phân bổ nhiều lõi v như bạn có chủ đề với HT, thì bạn thực sự đang tổng hợp ít nhất 70-80%, bởi vì ngay cả khi HT không thêm hiệu suất, nó thường tăng 20-30%, không phải bởi 100%, giống như người ta có thể giả định từ số lượng chủ đề.
dyasny

Ok, vậy không quá 12 "lõi" (75% của 16) được phân bổ?
Soviero

1
Đoán tôi không đủ rõ ràng. Bạn có thể tổng thể hóa và tùy thuộc vào tải trong máy ảo, CPU hoàn toàn không thể trở thành nút cổ chai. Hơn nữa, bạn không bao giờ nên gán nhiều CPU cho VM hơn mức cần thiết, bởi vì VM càng có nhiều CPU thì càng khó lên lịch, vì vậy nhiều v-cpus thực sự có thể cản trở hiệu suất. Đối với mức tăng hiệu suất 20% khi siêu phân luồng - đây không phải là số tuyệt đối, con số có thể cao hơn một chút, thấp hơn, bằng 0 hoặc thậm chí âm - tùy thuộc vào tải VM.
dyasny

Ồ được thôi. Cảm ơn bạn.
Soviero

3

rất nhiều biến số ảnh hưởng đến hiệu suất VM. HT chỉ là một trong những biến số nhưng nó cũng phụ thuộc vào cách VM được cấu hình.

Một trong những biến ảnh hưởng đến HT phụ thuộc vào loại Hypervisor đang được sử dụng.

Nếu bạn đang sử dụng các máy ảo nhẹ như VZ, VServer, v.v. thì rõ ràng HT sẽ mang lại lợi ích phù hợp vì các VM này không thực sự bị cô lập chặt chẽ và giống như chạy phần mềm đa luồng hơn.

Nếu bạn đang sử dụng các máy ảo hạng nặng như KVM, Xen HVM, v.v. thì có thể HT sẽ can thiệp vào mọi thứ, ví dụ như khi VM được cấp hai CPU nhưng cuối cùng lại sử dụng một HT trên các lõi khác nhau.

Vì vậy, điều tốt nhất để làm vẫn là kiểm tra thiết lập của bạn để xem những gì phù hợp với bạ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.