Như với máy móc vật lý IO là vua. Sẽ có một cú đánh IO đáng chú ý từ ảo hóa (mức độ tấn công phụ thuộc vào công nghệ bạn chọn), vì vậy hãy chắc chắn rằng bạn không làm gì có thể làm trầm trọng thêm điều này và làm hại hiệu suất IO hơn nữa.
- Luôn sử dụng kích thước cố định, không phải đĩa ảo động và đảm bảo rằng các ổ / mảng bên dưới là đủ. Vdisks động ít hiệu suất hơn so với kích thước cố định.
- Nếu dữ liệu trong máy ảo không phải là nhiệm vụ quan trọng, hãy bật khả năng của giải pháp VM để ghi bộ đệm (nói dối hiệu quả với hệ điều hành khách về thời điểm mọi thứ được ghi vào đĩa vật lý) để có hiệu suất cao hơn. Điều này hữu ích cho máy phát triển và thử nghiệm, nơi dữ liệu dễ dàng được thay thế hoặc sao chép chỉ đọc cục bộ thành bản gốc có thể được tạo lại nếu gặp bất kỳ sự cố nào, nhưng chúng tôi khuyên các tùy chọn đó nên dừng lại cho các hệ thống sản xuất và sao lưu như chúng làm tăng khả năng mất dữ liệu (hoặc tệ hơn là tham nhũng) nếu máy tắt bất ngờ.
- Đảm bảo rằng mỗi VM có đủ RAM dành riêng cho nó để bộ làm việc bình thường của mỗi cơ sở dữ liệu phù hợp với bộ nhớ với một lượng phòng trống dự phòng để tránh IO không cần thiết. Ngoài ra, đảm bảo rằng trình ảo hóa sẽ không loại bỏ RAM VM bất cứ lúc nào (ví dụ: hầu hết các sản phẩm VMWare có thể làm điều này, cho phép bạn chạy một bộ VM lớn hơn so với trên phần cứng khác, nhưng sự suy giảm hiệu năng có thể có khối lượng lớn - có một tùy chọn để điều chỉnh hoặc tắt hành vi này).
- Nếu máy chủ sử dụng mảng RAID5, hãy xem xét chuyển sang RAID10. Điều này sẽ giảm dung lượng có sẵn nhưng loại bỏ các vấn đề về hiệu suất ghi có thể thấy rõ với RAID5 (hoặc 6).
- Đối với các máy ảo có khả năng nhìn thấy nhiều hoạt động IO, hãy xem xét cung cấp cho chúng ổ đĩa hoặc mảng của riêng chúng hoặc chỉ để chúng chia sẻ (các) ổ đĩa / mảng của chúng với dữ liệu thấy hoạt động thấp.
Tất nhiên, nếu toàn bộ DB của bạn (và mọi thứ khác mà VM đang chạy) phù hợp với RAM được phân bổ cho VM và nó thấy rất ít hoạt động ghi, hiệu suất IO có thể ít gặp sự cố hơn.
Chỉnh sửa: một vài điểm nữa:
- Nếu sử dụng đĩa ảo, đảm bảo rằng loại bộ điều khiển tốt nhất được sử dụng cho hiệu suất. Một số giải pháp ảo hóa cung cấp một số loại bộ điều khiển ảo để tương thích với khách tốt hơn và bạn có thể thấy một số loại kém hiệu quả hơn các loại khác do hạn chế giao thức trong thiết kế mà chúng mô phỏng và các hạn chế trong trình điều khiển của hệ điều hành khách.
- Nếu giải pháp ảo hóa của bạn cung cấp các trình điều khiển cụ thể cho bộ điều khiển ổ đĩa ảo, hãy đảm bảo HĐH khách của bạn đang sử dụng chúng - chúng có thể tăng tốc IO số lượng lớn bằng cách giảm số lượng bản sao bộ nhớ vào bộ nhớ và lưu trữ <-> hypanneror <-> bối cảnh khách thiết bị chuyển mạch tham gia vào một số hoạt động.
- Hai điểm trên áp dụng nếu bạn đang sử dụng bộ lưu trữ mạng như cổ phiếu SMB đơn giản hoặc iSCSI: đảm bảo rằng bạn đang sử dụng bộ điều khiển mạng ảo hiệu quả nhất được cung cấp và hệ điều hành khách của bạn đang sử dụng trình điều khiển được đề xuất cho nó, nếu không cả độ trễ và băng thông có thể bị giới hạn nhiều hơn nhu cầu của lớp ảo hóa.