可以使用特定 onstat 选项监视缓冲区和缓冲池活动。
还可以使用 onstat -p 来监视缓冲池的读高速缓存速率。此速率表示当查询请求页时已经存在于共享内存缓冲区中的数据库页的百分比。(如果页未存在,数据库服务器必须将其从磁盘复制到内存中。)如果数据库服务器在缓冲池中找到了该页,那么它在磁盘 I/O 上花费的时间更少。因此,您需要有较高的读取高速缓存率才能实现良好性能。对于许多用户读取少量数据集的 OLTP 应用程序,目标是达到 95% 或更高的读取高速缓存率。
如果读取高速缓存率很低,可以反复增加缓冲区并重新启动数据库服务器。增加 buffers 的 BUFFERPOOL 值时,达到的程度是增大该值将不再能明显提高读取高速缓存率,或者达到操作系统共享内存分配的上限。
使用操作系统中的内存管理监视实用程序(如 UNIX™ 上的 vmstat 或 sar)来记录页扫描和页面调出活动的级别。如果这些级别在数据库活动高峰期内突然上升或者上升到不可接受的级别,请减小 buffers 的 BUFFERPOOL 值。