java - OrientDB性能测试禁用缓存

标签 java caching orientdb

我在嵌入式 orientdb 数据库 v1.7.7 上编写了一些性能测试。

同一个查询被执行多次。第一次查询执行需要一些时间,但后续执行速度要快得多。

我猜 OrientDB 缓存了很多东西。所以我想禁用缓存。

关于 orientdb caching 的文档说:

OGlobalConfiguration.CACHE_LOCAL_ENABLED.setValue(false);

由于此配置属性不存在,因此我必须调整此代码,因此我写道:

OGlobalConfiguration.CACHE_LEVEL1_ENABLED.setValue(false);
OGlobalConfiguration.CACHE_LEVEL2_ENABLED.setValue(false);

但即使采用这种配置,我的问题仍然存在。 第一个查询执行需要一些时间,但后续执行速度要快得多

最佳答案

这是因为DiskCache。将其视为操作系统内存映射的替代品。它处理从 RAM 到磁盘的页面加载/保存:

https://github.com/orientechnologies/orientdb/wiki/plocal-storage-disk-cache

您可以通过将全局配置“DISK_CACHE_SIZE”设置为您要分配的大小(以 MB 为单位)来更改它。在使用 OrientDB 之前执行此操作:

OGlobalConfiguration.DISK_CACHE_SIZE.setValue( 1000 ); // 1GB 

此设置是针对每个数据库的,因此如果您有多个数据库(不是针对同一数据库的多个用户),您应该正确分配它。

关于java - OrientDB性能测试禁用缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25176929/

相关文章:

java - 如何在java中使用Xmlreader读取XML?

JavaFX 8 - 向右侧的 TitledPane 添加图形

javascript - OrientDB 通过触发器自动记录变更日志

orientdb - orientjs - 如何执行批量插入

java - 使用 Spring 和 JPA 的 RESTfull 用户 session

.net - Azure CDN 缓存,图像未立即更新?

java - Tomcat Web 应用程序之间的共享缓存

javascript - 如何强制客户端刷新 JavaScript 文件?

java - 成功的 Gradle 项目构建在运行时会产生 NoClassDefFoundError