algolia search

Tìm thấy x bài viết trong xms.

Hiệu năng VPS


 

 

Ở góc nhìn chuyên môn, tôi hoàn toàn tin tưởng nhà cung cấp có thể giới hạn (bóp) hiệu năng của VPS. Còn ai không tin là họ giới hạn được thì bạn không cần đọc tiếp.

 

Tài nguyên trên mỗi máy ảo bao gồm: CPU, RAM, DISK, NET. Đó là 4 thành phần cơ bản nhất tạo nên 1 máy ảo. 

 

Vậy với những tài nguyên trên cái gì là dành riêng, cái gì là chia sẻ(shared) thì ở đây chắc hẳn anh em cũng đoán được. Thế nào là dành riêng tức là bạn được cấp bao nhiêu thì bạn được phép dùng bấy nhiêu, không ai có thể chiếm phần đó của bạn, ngược lại là loại chia sẻ, tài nguyên đó của bạn nhưng người khác có thể mượn hoặc cướp của bạn.

 

Nhìn vào các thành phần trên, thì với hầu hết các nhà cung cấp hiện nay họ sẽ cố gắng đảm bảo RAM và DISK là dành riêng, mỗi người được cấp 1 lượng nhất định và không ai có thể dùng vào đó. Khi bạn sử dụng 1 phần mềm như vmware để tạo máy ảo, bạn cũng sẽ thấy rằng mình không thể chạy cùng lúc 2 máy ảo có tổng lượng ram lớn hơn máy của mình đang có, nhưng hoàn toàn có thể chạy cùng lúc 2 máy ảo có tổng core cpu vượt qua số core bạn đang có.

 

Từ đó cho thấy việc chia sẻ CPU dễ hơn RAM rất nhiều, bạn không cần làm gì cả chỉ việc tạo 2 máy ảo với số core bằng số core của máy thật thì có thể chạy cả 2 cái cùng lúc, nhưng lúc này hiệu năng cho cpu của máy ảo sẽ bị giảm đi 1 nửa so với việc chạy 1 cái.

 

Chính từ việc CPU rất dễ tính khi chia sẻ như này nên nhiều nhà cung cấp bóp CPU lại để có thể chia được nhiều máy ảo hơn tối ưu hóa lợi nhuận. RAM là thứ khá rẻ và dễ nâng cấp, giống như khi đi mua laptop bạn thường chọn 1 con cpu tương đối khỏe vì nó khó thay rồi chọn loại còn trống 1-2 khe ram, trống khay 2.5ssd nữa để về lắp thêm sẽ kinh tế hơn là mua thẳng 1 con max option.

 

Từ các yếu tố nêu trên thì tài nguyên quan trọng mà hay bị bóp nhất chính là CPU. Vậy sẽ có những kiểu bóp thế nào, đơn giản thôi, bạn có thể thử sử dụng 1 số phần mềm ảo hóa như Virtualbox, sẽ thấy có 1 setting là Excution Cap mặc định là 100% đó chính là độ mạnh của cpu so với thực tế đó. Nhà cung cấp có thể set 1 core ảo bằng 80% hoặc 5% core thật tùy vào chiến lược kinh doanh của họ.

 

Tất nhiên việc bóp cpu này nhằm đảm bảo sự công bằng các máy ảo không chiếm tài nguyên của nhau, ví dụ bạn có 4 cores thật chia thành 8 cores ảo cùng chạy nếu giờ không giới hạn thì sẽ rất có thể 4 ông ăn hết 4 ông còn lại ngồi nhìn, nên việc giới hạn 1 core ảo bằng 50% công suất core thật góp phần đảm bảo sẽ ko có 1 ông nào ăn hết được tài nguyên.

 

Nhưng nói đi cũng phải nói lại bóp 50% thậm chí 10% luôn thì lại không tốt tí nào vì ví dụ như 2 người có 1 cốc nước, hỏi thằng bạn ê mày uống ko không tao uống hết, thằng kia không uống nhưng bạn lại bị cấm chỉ có thể uống đc nửa cốc nước -> lãng phí nửa còn lại. Trở lại với cpu thì cái này cũng không lãng phí hoàn toàn với nhà cung cấp vì không dùng hết thì giảm tiêu thụ điện năng, tăng tuổi thọ cpu....

 

Rồi ngoài kiểu bóp % cố định như 80% hay 20% thì còn kiểu bóp nào nữa? Còn kiểu bóp tự động theo thời gian hoặc theo tải nữa nhé. Một vài ví dụ:

1. Lúc mới mua cpu của bạn là 80% sau khi hết 30 ngày refund ấy, thì cpu sẽ giảm dần 10% mỗi ngày cho đến khi về 10%

2. Bạn được dùng 100 sức mạnh cpu vào buổi sáng, và 20% sức mạnh cpu vào buổi chiều, 50% vào buổi tối

3. Khi cpu vật lý sử dụng < 80% bạn được dùng 70%, khi cpu vật lý > 80% bạn sẽ được dùng 10%

4. Kết hợp 2 cái trên với nhau: Vào buổi sáng nếu cpu vật lý < 80% bạn sẽ được dùng 90% cpu, vào buổi tối nếu cpu vật lý < 80% bạn chỉ được dùng 60% cpu

 

QA:

 

Làm sao để biết mình bị bóp? Bạn check htop, hoặc process manager, nếu tác vụ nhẹ mà cpu đã lên 100% rồi thì là đang bị bóp. Ngoài htop ra bạn có thể dùng các công cụ khác như yabs theo dõi điểm số để biết mình đang bị bóp.

 

Ngoài bóp theo % sức mạnh ra thì còn kiểu bóp nào khác? Còn, còn kiểu bóp theo thời gian nữa, bạn hiểu thế này bạn vẫn đc sử dụng đầy đủ sức mạnh nhưng sẽ bị giới hạn thời gian, trong 1 đơn vị thời gian bạn sẽ chỉ đc sử dụng 1 phần, tôi ví dụ trong 1 giây bạn được dùng 200ms, thời gian còn lại bạn sẽ phải nhường cho người khác. Dấu hiệu của loại này rất dễ nhận ra bạn sẽ cảm thấy %cpu đang sử dụng không tăng cao nhưng lại bị "đứng hình" 1 chút rồi chạy tiếp. 

 

Ngoài CPU ra thì liệu RAM người ta có share không? Tất nhiên là có nhưng đa phần sẽ share clock/speed thôi rất hiếm nhà cung cấp share dung lượng ram, nhưng vẫn có nha và tớ gặp rồi, trên aws hẳn hoi luôn.

 

Làm sao để biết RAM bị share? - Bạn không thể dùng hết ram, ví dụ bạn có 8GB ram, mới chỉ sử dụng 2GB ram nhưng khi chạy thêm tác vụ mới thì bị lỗi hết bộ nhớ (memory exhausted)

 

Có các công cụ nào có thể đo hiệu năng để so sánh không?- Có, chắc cũng khá nhiều nhưng mình hay dùng yabs.sh, và HTML5 Fish Bowl. Chờ đã có nhầm lẫn gì không gì mà HTML5??? Giải thích sơ qua thế này, Fish bowl là công cụ đo hiệu năng đồ họa, nhưng khi không có GPU thì CPU sẽ phải gánh thay, nên nó cũng có tác dụng đo hiệu năng CPU và chỉ chính xác với máy không có GPU

 

P/S. Ngoài RAM và CPU thì disk cũng sẽ ảnh hưởng tới hiệu năng chung, nhưng đa phần ngày nay dùng SSD hết rồi, với các công việc thông thường thì hầu hết các hãng đều đáp ứng đủ hiệu năng SSD trừ khi bạn chạy những thứ đặc thù yêu cầu io speed, io operations cao

Đánh giá bài viết

Thích thì like
Hiệu năng VPS
0/5 0 votes

Bình luận

Hiển thị bình luận Facebook