使用 MonetDB 测试和比较查询性能
Testing and comparing query performance with MonetDB
我正在尝试 运行 一些查询时间测试,想知道是否有办法关闭缓存以便每次都从磁盘而不是内存读取数据?
MonetDB 使用内存映射文件。这些文件的内容由 OS 缓存在页面缓存中,在 Linux 中将使用任何空闲内存。我为获得公平所做的事情 'cold' 运行s(强制从 dist 读取数据} 是
- 停止数据库
- 清除文件系统缓存。在 Linux、运行 上执行以下命令:
sudo bash -c "echo 1 > /proc/sys/vm/drop_caches"
(有关详细信息,请参阅 Kernel doc)
- 再次启动数据库并运行你的查询
一般来说,性能结果的波动会比数据在内存中时更大,所以我建议您重复几次以获得一致的读数。
有一个 benchmark script (ehannes.sh
) 可以为您自动完成大部分流程。
我正在尝试 运行 一些查询时间测试,想知道是否有办法关闭缓存以便每次都从磁盘而不是内存读取数据?
MonetDB 使用内存映射文件。这些文件的内容由 OS 缓存在页面缓存中,在 Linux 中将使用任何空闲内存。我为获得公平所做的事情 'cold' 运行s(强制从 dist 读取数据} 是
- 停止数据库
- 清除文件系统缓存。在 Linux、运行 上执行以下命令:
sudo bash -c "echo 1 > /proc/sys/vm/drop_caches"
(有关详细信息,请参阅 Kernel doc) - 再次启动数据库并运行你的查询
一般来说,性能结果的波动会比数据在内存中时更大,所以我建议您重复几次以获得一致的读数。
有一个 benchmark script (ehannes.sh
) 可以为您自动完成大部分流程。