分配 AIO 虚拟处理器的目的是分配足够的虚拟处理器从而可以保持 I/O 请求队列的长度比较短;即,队列中具有的 I/O 请求要尽可能少。当 gfd 队列总是很短时,它指示对于磁盘设备的 I/O 正在以与产生请求一样快的速度进行处理。
onstat-g ioq 命令显示了有关 I/O 队列的长度和其他统计信息。可以使用此命令为 AIO 虚拟处理器监视 gfd 队列的长度。有关更多信息,请参阅监视虚拟处理器以及《GBase 8s 性能指南》中有关监视虚拟处理器的信息。
如果 KAIO 不在您的平台上实现,请为数据库服务器经常访问的每个磁盘分配两个 AIO 虚拟处理器。
如果您使用熟文件,并且如果您使用 DIRECT_IO 配置参数启用直接 I/O,那么您可能可以减少 AIO 虚拟处理器的数量。
如果数据库服务器实现了 KAIO 并且使用 DIRECT_IO 配置参数启用了直接 I/O,那么 GBase 8s 将尝试使用 KAIO,这样可能就不需要多个 AIO 虚拟处理器。 但是,即使启用了直接 I/O,如果文件系统不支持直接 I/O 或 KAIO,那么仍必须为组成已缓冲文件块或不使用 KAIO 的每个活动的数据库空间分配两个 AIO 虚拟处理器。
临时数据库空间不使用直接 I/O。如果您拥有临时数据库空间,那么可能需要多个 AIO 虚拟处理器。
分配足够的 AIO 虚拟处理器以满足 I/O 请求的最大值。通常来说,分配过多的 AIO 虚拟处理器不会产生不利影响。
当服务器检测到 AIO 虚拟处理器无法满足 I/O 工作负载时,AUTO_AIOVPS 配置参数可使数据库服务器自动增加 AIO 虚拟处理器和 page-cleaner 线程的数量。