vCPU (virtual CPU) là đơn vị xử lý ảo mà nhà cung cấp cấp cho máy chủ ảo của bạn. Trong đa số trường hợp, 1 vCPU tương ứng 1 luồng (thread) của CPU vật lý, không phải 1 nhân (core) trọn vẹn. Vì vậy, gói VPS "4 vCPU" thường chỉ tương đương 2 nhân thật nếu máy chủ bật siêu phân luồng.

Con số vCPU in đậm trên bảng giá là thứ người mua nhìn đầu tiên. Nhưng nó cũng là thông số dễ hiểu sai nhất. Bài này giải thích từ gốc: core là gì, thread là gì, vCPU sinh ra thế nào, và vì sao hai gói cùng "2 vCPU" có thể chạy nhanh chậm rất khác nhau.

Core, thread và vCPU: ba khái niệm, ba tầng

Core: nhân xử lý vật lý

Core là một khối xử lý thật nằm trong con chip. Mỗi core có bộ tính toán riêng, có thể tự chạy một luồng lệnh. Một CPU máy chủ hiện đại có thể chứa hàng chục core. Hãy hình dung core là một đầu bếp trong bếp nhà hàng.

Thread: luồng xử lý

Thread là luồng lệnh mà hệ điều hành giao cho CPU. Công nghệ siêu phân luồng (Intel gọi là Hyper-Threading, nói chung là SMT) cho phép mỗi core xử lý xen kẽ hai luồng. Đầu bếp vẫn là một người, nhưng anh ta canh hai bếp cùng lúc: lúc nồi này đang sôi thì quay sang thái rau cho nồi kia.

Điểm mấu chốt: hai thread trên một core không nhanh gấp đôi một core. Chúng chỉ tận dụng khoảng thời gian core bị rảnh. Mức lợi ích thực tế tùy loại công việc.

vCPU: phần được chia cho máy ảo

Khi nhà cung cấp dựng VPS, phần mềm ảo hóa (KVM, VMware, Hyper-V…) lấy các thread của máy chủ vật lý và cấp cho từng máy ảo dưới dạng vCPU. Hệ điều hành trong VPS của bạn thấy vCPU như một CPU bình thường. Nó không biết bên dưới là nửa core hay một core.

Các nhà cung cấp đám mây lớn cũng mô tả cách tính này trong tài liệu kỹ thuật: với phần lớn dòng máy chủ dùng siêu phân luồng, mỗi vCPU là một thread của một core.

Bảng so sánh nhanh

Khái niệmBản chấtVí dụ đời thườngÝ nghĩa khi thuê VPS
CoreNhân xử lý vật lý trong chipMột đầu bếpGói "dedicated core" cho bạn trọn nhân
ThreadLuồng lệnh, 1 core thường có 2 threadMột đầu bếp canh hai bếpĐơn vị nhà cung cấp hay dùng để tạo vCPU
vCPUCPU ảo cấp cho máy ảoMột suất bếp được thuê theo giờCon số ghi trên bảng giá, có thể chia sẻ hoặc riêng

Vì sao cùng "2 vCPU" mà nhanh chậm khác nhau?

Thế hệ CPU và xung nhịp

Một vCPU trên chip đời mới, xung cao có thể làm nhiều việc hơn hẳn một vCPU trên chip cũ nhiều năm tuổi. Bảng giá chỉ ghi "2 vCPU" là thiếu thông tin. Hãy hỏi dòng CPU cụ thể. Nhà cung cấp nghiêm túc thường công khai điều này.

Chia sẻ hay riêng

Phần lớn VPS giá rẻ dùng vCPU chia sẻ. Nhà cung cấp bán tổng số vCPU nhiều hơn số thread thật, dựa trên giả định không phải ai cũng chạy hết công suất cùng lúc. Cách làm này gọi là overselling hoặc overcommit. Nó không xấu nếu làm có chừng mực. Nó thành vấn đề khi một máy vật lý bị nhồi quá nhiều khách.

Ngược lại, vCPU riêng (dedicated vCPU) được gắn cố định cho bạn. Giá cao hơn, nhưng hiệu năng ổn định hơn, nhất là giờ cao điểm.

Hàng xóm ồn ào

Trên máy chủ chia sẻ, một VPS khác chạy nặng có thể làm VPS của bạn chậm theo. Giới kỹ thuật gọi đây là hiệu ứng "noisy neighbor". Bạn không kiểm soát được hàng xóm, nhưng bạn đo được hậu quả.

Tự kiểm tra CPU trên VPS Linux

Sau khi nhận VPS, bạn có thể kiểm tra vài thứ cơ bản bằng lệnh:

  • nproc: cho biết hệ điều hành thấy bao nhiêu CPU.
  • lscpu: hiện tên dòng CPU, số socket, core, thread mà máy ảo nhìn thấy.
  • top hoặc htop: theo dõi tải. Chú ý cột st (steal time) trong top.

Steal time là phần thời gian vCPU của bạn muốn chạy nhưng phải chờ vì máy chủ vật lý đang bận phục vụ máy ảo khác. Thỉnh thoảng nhích lên một chút là bình thường. Nếu nó thường xuyên ở mức cao, đó là dấu hiệu máy chủ bị nhồi khách. Bạn có quyền yêu cầu nhà cung cấp chuyển máy hoặc xem xét đổi gói.

Bao nhiêu vCPU là đủ?

Không có công thức chung, nhưng có vài nguyên tắc thực tế:

  • CPU hiếm khi là nút thắt duy nhất. Website WordPress chậm thường do thiếu bộ nhớ đệm, plugin nặng, ổ cứng chậm hoặc thiếu RAM trước khi thiếu CPU.
  • PHP xử lý mỗi request bằng một tiến trình. Nhiều người truy cập cùng lúc vào trang không có cache sẽ ăn CPU nhanh. Có cache trang tốt, nhu cầu CPU giảm rõ rệt.
  • Cơ sở dữ liệu và tác vụ nền như gửi email hàng loạt, tạo ảnh thumbnail, sao lưu nén file đều cần CPU. Lên lịch chúng vào giờ thấp điểm.
  • Ứng dụng đơn luồng không hưởng lợi từ nhiều vCPU. Với loại này, xung nhịp từng nhân quan trọng hơn số lượng.

Danh sách kiểm tra trước khi thuê VPS

  1. vCPU là chia sẻ hay riêng? Có ghi rõ trong mô tả gói không?
  2. Dòng CPU và thế hệ nào? Có công khai không?
  3. Nhà cung cấp có chính sách giới hạn dùng CPU liên tục ở mức cao không? Nhiều gói giá rẻ cấm chạy 100% CPU kéo dài.
  4. Có cho dùng thử hoặc hoàn tiền trong vài ngày đầu để bạn tự kiểm tra steal time không?
  5. Nâng cấp vCPU có cần cài lại máy hay chỉ khởi động lại?

Nên chọn thế nào

  • Blog cá nhân, landing page, website giới thiệu doanh nghiệp: 1–2 vCPU chia sẻ là điểm khởi đầu hợp lý, miễn là có cache tốt.
  • Shop WooCommerce, diễn đàn, site tin tức có lượng truy cập đều: 2–4 vCPU, ưu tiên CPU đời mới. Theo dõi steal time vài tuần đầu.
  • Ứng dụng cần CPU ổn định liên tục (xử lý media, build code, cơ sở dữ liệu nặng, game server): chọn vCPU riêng hoặc máy chủ riêng.
  • Chưa chắc nhu cầu: chọn gói nhỏ, nâng dần. Bỏ tiền cho vCPU mà không dùng đến là lãng phí phổ biến nhất.

Nhớ một câu: vCPU là suất bếp thuê chung, không phải đầu bếp riêng. Muốn biết suất bếp đó có tốt không, hãy hỏi đầu bếp là ai và bếp có bị nhồi khách không.

Nguồn tham khảo