只要 sqlexec 线程将缓冲区写入磁盘,都称为前台写入。 当 sqlexec 线程代表用户在 LRU 队列中搜索但无法找到空的或未修改的缓冲区时将发生前台写入。为了腾出空间,sqlexec 线程将一次清空一个页以容纳要从磁盘读取的数据。(有关更多信息,请参阅 FIFO/LRU 队列。)
如果 sqlexec 线程必须执行缓冲区清空以获取共享内存缓冲区,那么性能会变差。必须避免前台写入。要显示对前台写入次数的计数,请运行 onstat -F。如果发现前台写入定期发生,请调整页清除参数的值。 要么增加页清除程序的数目,要么减少 BUFFERPOOL lru_max_dirty 值。