İki düğümden oluşan bir Kalp Atışı / DRBD / Kalp Pili / KVM / Qemu / libvirt kümemiz var. Her düğüm aşağıdaki paketler / sürümlerle Ubuntu 12.04 64 Bit çalıştırır:
- Çekirdek 3.2.0-32-jenerik # 51-Ubuntu SMP
- DRBD 8.3.11
- qemu-kvm 1.0 + noroms-0ubuntu14.3
- libvirt 0.9.13
- kalp pili 1.1.7
- kalp atışı 3.0.5
Sanal konuklar Ubuntu 10.04 64 Bit ve Ubuntu 12.04 64 Bit çalıştırıyor. En iyi CPU performansını elde etmek için ana CPU'ların yeteneklerini sanal konuklara aktarmak için bir libvirt özelliği kullanıyoruz.
Şimdi bu kümede ortak bir kurulum var:
- VM "izleme" 4 vCPU'ya sahiptir
- VM "izleme" disk arabirimi olarak ide kullanır (şu anda bariz nedenlerle VirtIO'ya geçiyoruz)
Son zamanlarda bazı basit testler yaptık. Profesyonel olmadıklarını ve yüksek standartlara ulaşmadıklarını biliyorum, ancak zaten güçlü bir eğilim gösteriyorlar:
A düğümü VM "bla" çalıştırıyor B düğümü VM "izleme" çalıştırıyor
Bir dosyayı VM "bla" den VM "izlemeye" rsync ettiğimizde sadece 12 MB / sn. VM "izleme" içinde = / dev / null = / tmp / blubb ise basit bir dd gerçekleştirdiğimizde yaklaşık 30 MB / sn.
Sonra VM "izlemesine" 4 vCPU daha ekledik ve yeniden başlattık. VM "izleme" artık 8 vCPU'ya sahip. Testleri aşağıdaki sonuçlarla tekrar çalıştırdık: Bir dosyayı VM "bla" den VM "izleme" ye yeniden senkronize ettiğimizde artık 36 MB / sn. VM "izleme" içinde = / dev / null = / tmp / blubb ise basit bir dd gerçekleştirdiğimizde şimdi yaklaşık 61 MB / sn.
Benim için bu etki oldukça şaşırtıcı. Görünüşe göre bu sanal konuk için daha fazla sanal CPU eklemek otomatik olarak VM içinde daha fazla disk performansı anlamına geliyor?
Bunun için bir açıklamam yok ve girişinizi gerçekten takdir ediyorum. Bu davranışı% 100 yeniden oluşturabildiğim için bu performansın artmasına neyin sebep olduğunu anlamak istiyorum.
kvm_trace
sayısının nasıl IO_Exits
değiştiğini görmek için çalıştırın . Konuk CPU'larla programlanan IDE kullandığınız için tahmin ediyorum. Virtio ile performans tutarlı olmalı ve veri düzlemi qemu içindeyse, büyük bir artış sağlayacaktır. Başka bir tahmin, buggy sanallaştırma yığını için bilinen bir dağıtım kullandığınız gerçeğinde olabilir.