5

如何清除 firebird 查询缓存以执行我的性能测试?

SqlServer 中的示例在这里

Tks

4

3 回答 3

3

Andrei 是正确的——Firebird 严重依赖操作系统文件系统缓存。Firebird 将在内部缓存少量页面(检查数据库上的缓冲区属性),但它通常是非常少量的数据。经典默认为 75 页?我在其他地方看到了大约 1000 页的建议,根据页面大小,最终大小为 8 或 16 MB。

代替重新启动操作系统以清除文件系统缓存,您可以将数据库放在自己的挂载上。然后要完全清除缓存,您可以停止 Firebird,卸载/安装分区并再次启动 Firebird。这将使文件系统缓存无效。

这应该不会太痛苦——与其他数据库不同,Firebird 不必在启动时扫描数据文件并在事务日志中重放事务。翻译日志本质上是通过仔细写入与数据文件结合在一起的。

于 2012-08-23T20:33:10.933 回答
1

除了经常访问的数据页的内存缓冲区之外,Firebird 还依赖于操作系统文件缓存。重新启动服务器进程可以清空内存缓冲区,但要清除文件缓存,恐怕需要重新启动操作系统。

于 2012-08-23T19:35:12.650 回答
0

我认为重新启动 Firebird 服务是最简单(唯一?)的方法。

于 2012-08-23T19:19:01.417 回答