Tôi đang gặp một số vấn đề nghiêm trọng về hiệu suất đĩa trong khi thiết lập máy khách KVM. Sử dụng một dd
thử nghiệm đơn giản , phân vùng trên máy chủ lưu trữ hình ảnh qcow2 nằm trên (một mảng RAID được nhân đôi) ghi với tốc độ trên 120MB / s , trong khi khách của tôi nhận được ghi từ 0,5 đến 3 MB / s .
- Khách được cấu hình với một vài CPU và 4G RAM và hiện không chạy bất cứ thứ gì khác; đó là một cài đặt hoàn toàn tối thiểu tại thời điểm này.
- Hiệu suất được kiểm tra bằng cách sử dụng
time dd if=/dev/zero of=/tmp/test oflag=direct bs=64k count=16000
. - Khách được cấu hình để sử dụng virtio, nhưng điều này dường như không tạo ra sự khác biệt cho hiệu suất.
- Các phân vùng máy chủ được căn chỉnh 4kb (dù sao hiệu suất cũng tốt trên máy chủ).
- Sử dụng bộ đệm ghi lại trên đĩa để tăng hiệu suất được báo cáo một cách ồ ạt, nhưng tôi không muốn sử dụng nó; thậm chí không có nó hiệu suất nên tốt hơn nhiều so với điều này.
- Cả máy chủ và khách đều đang chạy Ubuntu 12.04 LTS, đi kèm với qemu-kvm 1.0 + noroms-0ubfox13 và libvirt 0.9.8-2ubfox17.1.
- Máy chủ có lịch trình IO thời hạn được kích hoạt và khách không có.
Dường như có rất nhiều hướng dẫn ngoài việc điều chỉnh hiệu suất kvm, và cuối cùng tôi sẽ đến đó, nhưng có vẻ như tôi sẽ đạt được hiệu suất tốt hơn rất nhiều so với điều này vào thời điểm này nên có vẻ như đã có điều gì đó rất sai.
Cập nhật 1
Và đột nhiên khi tôi quay lại và kiểm tra ngay bây giờ, nó là 26,6 MB / s; nó giống như những gì tôi mong đợi w / qcrow2. Tôi sẽ để lại câu hỏi trong trường hợp bất cứ ai có bất kỳ ý tưởng nào về những gì có thể là vấn đề (và trong trường hợp nó trở lại một cách bí ẩn).
Cập nhật 2
Tôi đã ngừng lo lắng về hiệu suất của qcow2 và chỉ cắt ngang LVM trên đầu RAID1 với hình ảnh thô, vẫn sử dụng virtio nhưng đặt cache = 'none' và io = 'bản địa' trên ổ đĩa. Viết hiệu suất bây giờ là appx. 135MB / s sử dụng cùng một bài kiểm tra cơ bản như trên, do đó dường như không có nhiều điểm để tìm ra vấn đề là gì khi nó có thể dễ dàng xử lý hoàn toàn.