CPU sẵn sàng: Kẻ giết người Hypervisor im lặng

CPU Ready là thứ mà bạn có thể không quen thuộc. Tại một ấn tượng đầu tiên, nó có thể âm thanh như một điều tốt nhưng tiếc là nó không phải là. CPU Ready đã làm lu mờ các môi trường ảo lâu hơn chúng ta biết nó là gì. VMware định nghĩa điều này là phần trăm thời gian mà máy ảo đã sẵn sàng, nhưng không thể lên kế hoạch để chạy trên CPU vật lý. Thời gian CPU sẵn sàng phụ thuộc vào số lượng máy ảo trên máy chủ và tải CPU của chúng. Hyper-V chỉ mới bắt đầu cung cấp bộ đếm này (Hyper-V Hypervisor Virtual processor \ CPU Thời gian chờ cho mỗi công văn) và các hypervisor khác có thể vẫn chưa cung cấp số liệu này.

Để hiểu CPU Ready là gì, chúng ta sẽ cần phải hiểu cách các hypervisor lên lịch các CPU ảo (vCPU) tới các CPU vật lý (pCPU). Khi thời gian vCPU là cần thiết trong máy ảo, thì vCPU cần được lên lịch đối với pCPU để các lệnh / tiến trình / luồng có thể chạy với pCPU. Trong một thế giới lý tưởng, không có xung đột tài nguyên hoặc tắc nghẽn khi điều này cần phải xảy ra. Khi một máy ảo vCPU duy nhất cần lên lịch thời gian với một pCPU, một lõi pCPU có sẵn và CPU Ready rất nhỏ trong thế giới lý tưởng này. Điều quan trọng cần lưu ý là CPU Ready luôn tồn tại nhưng trong một thế giới lý tưởng, nó rất tối thiểu và không được chú ý.

Trong thế giới thực, một trong những lợi ích của ảo hóa là bạn có thể đặt cược rằng nhiều máy ảo của bạn sẽ không tăng đột biến tất cả vCPUs của họ cùng một lúc và nếu chúng là máy ảo sử dụng rất thấp, bạn thậm chí có thể đoán được bạn có thể tải lên máy chủ vật lý của bạn dựa trên mức sử dụng CPU và mức sử dụng RAM. Trong quá khứ, các khuyến nghị để có 4 vCPU đến 1 pCPU hoặc thậm chí tỷ lệ 10: 1 tùy thuộc vào khối lượng công việc đã được thực hiện. Ví dụ, bạn có thể có một bộ vi xử lý lõi tứ duy nhất nhưng có 4 máy ảo với vCPUs mỗi để cung cấp cho bạn 16 vCPUs đến 4 pCPUs hoặc 4: 1. Những kỹ sư đã bắt đầu thấy mặc dù là các môi trường chỉ là khủng khiếp chậm và họ không thể tìm ra lý do tại sao. Việc sử dụng RAM có vẻ tốt, việc sử dụng CPU trên máy chủ vật lý thậm chí có thể rất thấp, dưới 20%. Độ trễ lưu trữ rất thấp, nhưng các máy ảo cực kỳ chậm chạp.

Điều gì đã xảy ra trong kịch bản này là CPU Ready. Đã có hàng đợi xây dựng vCPU sẵn sàng để lên kế hoạch nhưng không có pCPU nào có sẵn để lên lịch. Các hypervisor sẽ trì hoãn việc lập kế hoạch và gây ra độ trễ cho VM khách. Đó là một kẻ giết người thầm lặng cho đến những năm gần đây, không có nhiều công cụ để phát hiện. Trong một máy ảo Windows, nó sẽ mất mãi mãi để khởi động và sau đó khi nó cuối cùng, khi bạn bấm vào trình đơn bắt đầu, nó sẽ mất mãi mãi để hiển thị. Bạn thậm chí có thể nhấp vào nó một lần nữa nghĩ rằng nó đã không chấp nhận nhấp chuột đầu tiên của bạn và khi nó cuối cùng bắt kịp, bạn sẽ nhận được một nhấp đúp chuột. Trên Linux, máy ảo của bạn có thể khởi động vào chế độ chỉ đọc hoặc thậm chí chuyển đổi hệ thống tập tin sang chế độ chỉ đọc ở một số điểm sau đó.

Vậy làm thế nào để chúng ta chiến đấu với CPU Ready? Có một số cách có thể giúp bạn. Đầu tiên là theo dõi các chỉ số CPU Sẵn sàng. Trong VMware, nó không được khuyến khích để đi trên 10% nhưng trong kinh nghiệm cá nhân, người dùng bắt đầu nhận thấy trên 5-7% tùy thuộc vào loại máy ảo và những gì nó đang chạy.

Dưới đây tôi sẽ sử dụng một số ví dụ từ VMware ESXi 5.5 để hiển thị CPU Ready. Sử dụng dòng lệnh, chạy esxtop. Nhấn c để xem CPU và bạn sẽ thấy một cột % RDY cho CPU Sẵn sàng. Bạn có thể nhấn vốn V cho chế độ xem Chỉ VM.

Ở đây bạn có thể thấy rằng% RDY là hơi cao cho một môi trường khá không sử dụng. Trong trường hợp này, ESXi 5.5 của tôi đang chạy một máy ảo thử nghiệm trên VMware Fusion (Mac hypervisor) vì vậy nó được dự kiến ​​sẽ có một chút ở mức cao vì chúng ta đang chạy một máy ảo trên một hypervisor trên đỉnh của một hypervisor khác.

Trong máy khách vSphere, bạn có thể kéo VM cụ thể lên và nhấp vào tab Hiệu suất. Từ đó, nhấp vào Tùy chọn biểu đồ

Mẹo CHUYÊN NGHIỆP: Nếu vấn đề xảy ra với máy tính của bạn hoặc máy tính xách tay / máy tính xách tay, bạn nên thử sử dụng phần mềm Reimage Plus có thể quét các kho lưu trữ và thay thế các tệp bị hỏng và bị thiếu. Điều này làm việc trong hầu hết các trường hợp, nơi vấn đề được bắt nguồn do một tham nhũng hệ thống. Bạn có thể tải xuống Reimage Plus bằng cách nhấp vào đây

Trong Tùy chọn biểu đồ, chọn CPU, Thời gian thực (nếu bạn có vCenter, bạn có thể có các tùy chọn thời gian khác so với thời gian thực). Từ đó trong Bộ đếm, chọn Sẵn sàng. Bạn có thể cần bỏ chọn một bộ đếm khác vì chế độ xem chỉ cho phép hai loại dữ liệu tại một thời điểm nhất định.

Bạn sẽ lưu ý rằng giá trị này là tổng hợp tỷ lệ sẵn sàng so với phần trăm. Đây là một liên kết đến bài viết về VMware KB về cách chuyển đổi các chỉ số tóm tắt thành một tỷ lệ phần trăm. - https://kb.vmware.com/kb/2002181

Khi mua phần cứng, nhiều lõi hơn sẽ giúp giảm bớt tác động của CPU Ready. Hyperthreading giúp là tốt. Mặc dù Hyperthreading không cung cấp một lõi thứ hai đầy đủ cho mỗi lõi chính, nhưng nó thường đủ để cho phép lập lịch trình vCPU cho pCPU và giúp giảm thiểu vấn đề. Mặc dù hypervisor đang bắt đầu chuyển từ vCPU sang khuyến nghị tỷ lệ pCPU, bạn thường có thể làm tốt trên môi trường được sử dụng vừa phải với 4: 1 và đi từ đó. Khi bạn bắt đầu tải các máy ảo nhìn vào độ trễ CPU, CPU Sẵn sàng và cảm nhận và hiệu suất tổng thể. Nếu bạn có một số máy ảo đánh nặng, bạn có thể muốn tách chúng thành các cụm khác và sử dụng tỷ lệ thấp hơn và giữ chúng sáng. Mặt khác đối với các máy ảo, nơi hiệu suất không phải là chìa khóa và nó là ok cho họ để chạy chậm chạp, bạn có thể qua đăng ký cao hơn nhiều.

Việc định kích thước các máy ảo một cách thích hợp cũng là một công cụ rất lớn để chống lại CPU Ready. Nhiều nhà cung cấp đề xuất thông số kỹ thuật tốt hơn những gì VM thực sự có thể cần. Theo truyền thống, nhiều CPU và nhiều lõi hơn = nhiều quyền lực hơn. Vấn đề trong môi trường ảo là hypervisor phải sắp xếp tất cả các vCPUs cho các pCPUs tại cùng thời điểm và khóa các pCPUs có thể có vấn đề. Nếu bạn có máy ảo 8 vCPU, bạn phải khóa 8 pCPUs để cho phép chúng lên lịch cùng một lúc. Nếu máy ảo vCPU của bạn chỉ sử dụng 10% tổng số vCPU tại bất kỳ thời điểm nào, bạn nên giảm số vCPU xuống còn 2 hoặc 4. Tốt hơn là chạy máy ảo ở 50-80% CPU với ít vCPU hơn 10% tại nhiều vCPUs hơn. Vấn đề này một phần là do bộ lập lịch CPU của hệ điều hành được thiết kế để sử dụng nhiều lõi nhất có thể trong khi nếu nó được huấn luyện để tối đa lõi trước khi sử dụng nhiều hơn, nó có thể ít vấn đề hơn. Một VM quá khổ có thể hoạt động tốt nhưng có thể là một hàng xóm ồn ào cho các máy ảo khác, vì vậy nó thường là một quá trình mà bạn phải đi qua tất cả các máy ảo trong cụm để kích thước chúng để thấy được một số hiệu suất.

Nhiều lần bạn đã chạy vào CPU Sẵn sàng và rất khó để bắt đầu đúng kích thước máy ảo hoặc nâng cấp lên bộ vi xử lý với nhiều lõi hơn. Nếu bạn đang ở trong tình huống này, việc thêm nhiều máy chủ trong cụm của bạn có thể hỗ trợ việc này để truyền tải trên nhiều máy chủ khác. Nếu bạn có nhiều máy chủ / bộ xử lý hơn các máy khác, việc gắn các máy ảo vCPU cao vào các máy chủ lõi cao hơn này cũng có thể giúp ích. Bạn muốn đảm bảo máy chủ vật lý của mình có ít nhất số lõi nếu không nhiều hơn VM, nếu không nó sẽ rất chậm / khó lập lịch vCPU thừa cho pCPU vì chúng cần được khóa gần như cùng một lúc .

Cuối cùng, hypervisor của bạn có thể hỗ trợ đặt chỗ và giới hạn trên máy ảo. Đôi khi đề tài được thiết lập vô tình. Cài đặt tích cực trên các thiết bị này có thể khiến CPU sẵn sàng khi thực tế các tài nguyên cơ bản có sẵn cho nó. Nó thường là tốt nhất để sử dụng đặt phòng và giới hạn một cách tiết kiệm và chỉ khi thật cần thiết. Đối với hầu hết các phần, một cụm có kích thước phù hợp sẽ cân bằng tài nguyên một cách thích hợp và thường không cần thiết.

Tóm lại, việc bảo vệ tốt nhất chống lại CPU Ready là biết rằng nó tồn tại và cách kiểm tra nó. Sau đó, bạn có thể xác định một cách có hệ thống các bước giảm thiểu tốt nhất cho môi trường của mình ở trên. Đối với hầu hết các phần, thông tin trong bài viết này áp dụng phổ quát cho bất kỳ hypervisor, mặc dù các ảnh chụp màn hình và biểu đồ áp dụng cụ thể cho VMware.

Mẹo CHUYÊN NGHIỆP: Nếu vấn đề xảy ra với máy tính của bạn hoặc máy tính xách tay / máy tính xách tay, bạn nên thử sử dụng phần mềm Reimage Plus có thể quét các kho lưu trữ và thay thế các tệp bị hỏng và bị thiếu. Điều này làm việc trong hầu hết các trường hợp, nơi vấn đề được bắt nguồn do một tham nhũng hệ thống. Bạn có thể tải xuống Reimage Plus bằng cách nhấp vào đây

Facebook Twitter Google Plus Pinterest