您可以配置数据库服务器使用的 CPU 虚拟处理器数 (VP)。分配的 CPU VP 数量不能超过可用于为它们提供服务的 CPU 处理器数量。
当数据库服务器启动时,CPU VP 数会自动增加到数据库服务器计算机上 CPU 处理器数的一半,除非 SINGLE_CPU_VP 配置参数已启用。然而,您可能希望基于性能需要而更改 CPU VP 数。
VPCLASS cpu,num=1
VPCLASS cpu,num=3
当使用此设置时,会有一个处理器可用于运行数据库服务器实用程序或客户机应用程序。
在安装多核处理器的系统上,大部分情况下,最佳配置不同于为具有等于核心总数的单独处理器数的系统所考虑配置。将 CPU VP 数设置为 N-1(其中 N 是核心数),对于 CPU 密集型工作负载而言,应该接近最佳效果。
在 CPU 对每个核心使用多线程的机器上,操作系统将显示比实际处理核心更多的逻辑处理器。要利用其他 CPU 线程,必须使用在 N 与 M 范围之间(其中 N 是核心数,且 M 是系统报告的逻辑 CPU 总数)的 CPU VP 数配置数据库服务器。实现最佳性能的 CPU VP 数将取决于工作负载。
当增加 CPU VP 数来对每个核心使用更多线程时,性能的预期提高仅是专用物理处理器或核心可提供的一小部分。
如果要将 GBase 8s 从多 CPU/多核系统迁移到每个核心有多个线程的系统,请特别注意处理器亲缘关系。将 GBase 8s CPU VP 绑定到操作系统的逻辑处理器时,您必须注意 CPU 的体系结构。如果您不确定,应该禁用 GBase 8s 配置中的 CPU 亲缘关系,以允许操作系统将 CPU VP 调度为具有可用资源的逻辑处理器。使用亲缘关系而不了解逻辑 CPU 与处理核心之间的关系可能会导致性能严重下降。
例如,要将 8 个已配置 CPU VP 中的每一个绑定到每个核心有 2 个线程的 8 核系统(16 个逻辑 CPU)上的不同核心,请使用以下语法:
VPCLASS cpu,num=8,aff=(0-14/2)
对于双处理器系统,您可以使用两个 CPU VP 运行来提高性能。要测试性能是否提高,请将 onconfig 文件中 VPCLASS 配置参数的 num 选项设置为 1,然后在运行时使用 onmode -p 动态添加 CPU VP。