1.3. 虚拟化性能特性和改进

Red Hat Enterprise Linux 7 中虚拟化性能的改进

以下功能改进了Red Hat Enterprise Linux 7 中的虚拟化性能:
自动化 NUMA 平衡
自动化 NUMA 平衡改进了 NUMA 硬件系统中运行应用的性能,且无需为 Red Hat Enterprise Linux 7 客机进行任何手动调试。自动化 NUMA 平衡把任务(任务可能是线程或进程)移到与它们需要访问的内存更近的地方。
如需获取关于自动化 NUMA 平衡的更多信息,请参照第 8.3 节 “自动化 NUMA 平衡”
多队列 virtio-net
联网方法使数据包发送/接收处理与客机中可用的虚拟 CPU 数量相协调。
关于多队列 virtio-net 的更多信息请参照第 5.5.2 节 “多队列 virtio-net”
桥接零复制传输
在客机网络和外部网络间传输大数据包中,零复制传输模式(Zero Copy Transmit)对主机 CPU 负荷的减少可以达到 15%,且对吞吐量没有影响。Red Hat Enterprise Linux 7 虚拟机中全面支持桥接零复制传输(Bridge Zero Copy Transmit),但在默认情况下被禁用。
关于零复制传输的更多信息请参照第 5.5.1 节 “桥接零复制传输”
APIC 虚拟化
更新的 Intel 处理器提供高级可编程中断控制器的硬件虚拟化(APICv,Advanced Programmable Interrupt Controller)。APIC 虚拟化将通过允许客机直接访问 APIC 改善虚拟化 x86_64 客机性能,大幅减少中断等待时间和高级可编程中断控制器造成的虚拟机退出数量。更新的 Intel 处理器中默认使用此功能,并可改善 I/O 性能。
EOI 加速
对在那些较旧的、没有虚拟 APIC 功能的芯片组上的高带宽 I/O 进行 EOI 加速处理。
多队列 virtio-scsi
改进的存储性能和 virtio-scsi 驱动中多队列支持提供的可扩展性。这个命令使每个虚拟 CPU 都可以使用独立的队列和中断,从而不会影响到其他虚拟 CPU。
关于多队列 virtio-scsi 的更多信息请参照第 6.5.2 节 “多队列 virtio-scsi”
半虚拟化 ticketlocks
半虚拟化 ticketlocks(pvticketlocks)将改善包括过度订阅 CPU 在内的 Red Hat Enterprise Linux 主机中运行的 Red Hat Enterprise Linux 7 客户虚拟机的性能。
半虚拟化页面错误
半虚拟化页面错误在尝试访问主机置换页面时将被加入到客机。这一功能改善了主机内存过载和客机内存被置换时 KVM 的客机性能。
半虚拟化时间 vsyscall 优化
gettimeofdayclock_gettime 系统调用将通过 vsyscall 机制在用户空间执行。在此之前,调用这类系统触发需要系统切换到 kernel 模式,之后退回到用户空间。这一操作将极大改善部分应用的性能。

Red Hat Enterprise Linux 中的虚拟化性能特性

  • CPU/Kernel
    • NUMA——非一致性内存访问。关于 NUMA 的详细信息请参照第 8 章 NUMA
    • CFS——完全公平调度程序。一种新的、使用类(class)的调度程序。
    • RCU——读取复制更新。更好地处理共享线程数据。
    • 多达 160 种虚拟 CPU(vCPU)。
  • 内存
    • 大页面和其他内存密集型环境下的优化。详细信息请参照第 7 章 内存
  • 联网
    • vhost-net——一种基于内核的 VirtIO 快速解决方案。
    • SR-IOV——使联网性能级别接近本机。
  • 块 I/O
    • AIO——支持线程和其他 I/O 操作重叠。
    • MSI - PCI 总线设备中断生成。
    • 磁盘 I/O 节流——客机磁盘 I/O 的控制要求避免过度使用主机资源。详细信息请参照第 6.5.1 节 “磁盘 I/O 节流”

注意

关于虚拟化支持、限制和功能的更多详细信息,请参照《 Red Hat Enterprise Linux 7 虚拟化入门指南 》和以下网址: