標籤:style http color 使用 strong 檔案
KVM最佳化技術,美團開放平台--邱劍
基於KVM現有選項做一些最佳化,視頻地址:http://www.osforce.cn/course/77/learn#lesson/80
CPU調優:
1、Context switch(使用者態到核心態的最佳化);ring0->nernel mode,ring 3->user mode;
設定:宿主機BIOS中開啟intel VT-X
2、緩衝最佳化 Cache-Node Binding
將qemu進程綁定到特定的CPU node或者core上---避免L2/L3Cache miss
Node binding VS core binding
設定:task set
?
Memory調優
地址Address轉換和物理空間Space最佳化
1、Addressing-EPT(SLAT)硬體加速
2、Addressing-HugePage 減少Page table尺寸,降低尋找緩衝(TLB)的Cache-miss,加速VM記憶體位址轉換;預設PageSize為4KB/ HugePage size為2M;
Transparent hugepage:kernel進程khugepaged周期性掃描記憶體,自動將地址連續可合并的普通4KB page合并為2MB Hugepage.社會自方法:sysctl -w sys.kernel.mm.transparent_huge....
3、對空間的最佳化 Space-KSM:kernel same-page merging
kernel進程ksmd周期性掃描記憶體,將內容相同的Page合并,減少實體記憶體使用量
I/O調優:
1、Storage 2、Network間資料交換借口,簡化流程
full virtualization技術無需修改Guest OS,則不存在虛擬化層和Guest OS層的特別配合導致影響效率;
virtio:半虛擬化I/O裝置架構,標準化Guest和host間資料交換借口,簡化流程,減少記憶體拷貝,提升虛擬機器I/O效率
1、Storage
virtio-blk:基於virtio架構的虛擬PCI磁碟裝置;
/dev/vdx
virtio-scsi:基於virtio架構的虛擬SCSI磁碟裝置?:/dev/sdx
緩衝模式調整
Native AIO:kernel AIO 2%~3%的最佳化效能,命令列參數中修改;
塊裝置IO調度器最佳化(通過sysctl -w sys.block.sdb.queue.scheduler...):
Network最佳化:
1、virtio-net:基於virtio架構的虛擬乙太網路裝置
vhost_net最佳化:核心進程vhost_XXXX
其他最佳化選項:
1、CPU:scheduler
2、Memory:NUMA
3、Storage:PCI-passthrough
4、Network:SR-IOV,PCI-Kernel
5、提升硬體指標--終級方案
相關問題
1、VT-X作用:context的環境切換加速,使用者態到核心態的快速切換,以提升其效能;
2、IO隔離和網路隔離QoS:IO隔離通過virtio-blk進行設定,有兩種方式
網路隔離對頻寬資源進行隔離;
3、Cgroup可以設定每個KVM QEMU進程或線程嗎?--可以找到對應的QEMU pid,對該PID進行限制,或者用libvirt會更簡單
4、美團95%以上的業務都在Openstack上;
5、基於Openswitch做頻寬調整;
6、openstack中KVM的恢複機制?---snapshot方式,但佔用空間較大;
7、使用千兆網路頻寬,沒有使用Distributed File System
8、監控:通過在Host中通過指令碼進行監控