有关预取和并行性的 I/O 服务器配置

要启用预取功能,数据库管理器需要启动不同的控制线程(称为 I/O 服务器)来读取数据页。

因此,查询处理分为两个并行活动: 数据处理 (CPU) 和数据页 I/O。 I/O 服务器等待来自 CPU 活动的预取请求。 这些预取请求包含有关满足查询所需的 I/O 的描述。

通过使用 num_ioservers 数据库配置参数配置足够的 I/O 服务器,可以大大提高能够受益于预取的查询的性能。 为了最大程度地提高并行 I/O 的机会,请将 num_ioservers 设置为至少等于数据库中的物理磁盘数。

高估 I/O 服务器数目要好于低估此数目。 如果指定了多余的 I/O 服务器,虽然这些服务器得不到使用,但其内存页会被调出,因此不会影响性能。 每个 I/O 服务器进程均有编号。 数据库管理器始终使用编号最小的进程,因此,某些编号较大的进程可能永远得不到使用。

要确定所需的 I/O 服务器数目,请考虑下列因素:
  • 可以同时将预取请求写入 I/O 服务器队列的数据库代理程序的数目
  • I/O 服务器可并行工作的最大程度
请考虑将 num_ioservers 的值设置为 AUTOMATIC,以使数据库管理器能够根据系统配置智能地选择值。