一、项目背景 某客户部署了一个六节点超融合集群,现部署多个种类的业务系统,内存资源较为紧张,需要对部分核心业务虚拟机系统进行调优,保证超融合集群资源利用率达到最大化。 二、调优配置 1、vNUMA CPU访问本地内存的速度远高于访问远端内存的速度,启用vNUMA后,平台会把该虚拟机的vCPU绑定到物理CPU,内存也绑定vCPU对应的本地内存,可以保证vCPU的本地内存访问,不会跨NUMA节点,比跨NUMA访问内存可提升20%的性能。一般所有虚拟机默认开启。 2、HostCPU 开启HostCPU后,虚拟机将使用主机CPU的指令集,好处是可以提升CPU计算性能,但Intel CPU推荐不使用Host CPU。只有当虚拟机计算性能不足时,可以使用Host CPU来提升性能。针对海光的服务器建议所有虚拟机开启HostCPU,若不开启此选项,虚拟机的CPU型号为AMD,在信创检查时不满足要求。但当集群内扩容新的不同型号CPU的主机时,开启了HostCPU的虚拟机迁移到新扩容的主机上可能因CPU指令集不同而发生兼容性问题。注意:C86的windows不能开启hostcpu,因为windows系统不兼容C86指令集 当前客户使用服务器CPU型号为Hygon,针对核心虚拟机开启HostCPU将提升虚拟机计算性能。 3、CPU独占 CPU独占功能使虚拟机的vCPU独占其使用的物理CPU线程,此时其他的虚拟机vCPU将不会被调度到该线程;此功能默认是不启用的,开启CPU独占功能,可以保证虚拟机在极限情况下的稳定性,但将会降低物理CPU的实际利用率。 当前客户物理CPU的实际利用率只有15%,针对关键数据库虚拟机开启CPU独占功能,保证数据库业务在极限情况下可以保持稳定性。 4、内存回收 当虚拟机内存被回收后,如果又要大量分配内存,就要重新从HOST分配物理内存。跟不做内存回收的虚拟机相比,多了一个内存分配的过程,性能会有稍微降低,但影响不大。好处是可以大幅提升资源使用率,启动更多虚拟机,所以默认是开启内存回收的。但针对数据库类、大IO吞吐的业务系统、频繁申请释放内存的业务系统不建议开启。 当前客户有部分运维虚拟机开启内存回收功能,释放出的资源供其他虚拟机使用。 5、大页内存 大页内存是一种操作系统级别的内存管理技术,它允许将内存划分为较大的页面(如1M)。相比于传统的4KB小页内存,大页内存减少了页表的数量,从而减少了操作系统在管理内存时的开销。当进程需要访问大页内存时,只需要查找较少的页表项,提高了内存访问的效率和命中率,特别是对于大量连续内存访问的场景,如数据库和虚拟化环境。在虚拟机配置中开启大页内存,虚拟机启动时,为虚拟机分配的都是大页物理内存。 注意:开启大页内存后,虚拟机的内存回收机制将会被关闭,优先保障内存使用,提高业务性能。 针对客户数据库系统在虚拟机配置和系统内部都开启大页内存。 6、VirtIO模式 开启VirtIO模式,可以大幅提升虚拟磁盘IO性能。此选项跟预分配存储空间没有关联,各自通过不同的方式提升虚拟机IO性能。但是需要安装性能优化工具才能真正生效。 当前客户所有虚拟机都已开启该功能,但有两台虚拟机系统版本较高,无法安装虚拟机优化工具,等待后续升级超融合新版本后安装生效。 7、重要虚拟机 重要虚拟机是对虚拟机提供QoS保证,对重要虚拟机,CPU调度高优先级,保证虚拟机的CPU计算性能。拥有更多的SSD缓存和分层空间,保障了虚拟机的IO高性能。只会在开机后执行一次内存回收,后续不会再进行内存回收。建议对数据库应用以及核心业务系统“勾选”重要虚拟机标记,提高其可靠性和性能保障。 三、总结 超融合虚拟机并非只是创建系统,我们需要针对客户的业务的优先级,业务的种类,资源的大小等因素,对虚拟机的配置进行多元化调配,保证客户在使用期间能真正感受到超融合虚拟机带来的价值,得到客户的认可。 |