我从文档中发现,鉴于 orientdb 100% 使用磁盘缓存,它使用最大大小为 70% 的读取缓存和 30% 的写入缓存(http://orientdb.com/docs/last/plocal- storage-disk-cache.html#interaction-between-read-and-write-caches)。
阅读有关读取缓存的更多信息,它被 3 个队列划分:a1in、a1out 和 am,它们的最大大小分别为读取缓存大小的 25%、50% 和 75%(http://orientdb.com/docs/last/ plocal-storage-disk-cache.html#queue-sizes)。
很明显,在读缓存满的稳定状态下,读缓存需要70%以上的磁盘缓存。这是如何处理的?从写入缓存中占用了一些空间,还是从一开始就将更多空间分配给了读取缓存?
另外,我想确定:
- 所涉及的“磁盘缓存”是普通磁盘(HDD 或 SDD)中包含的 RAM,而不是机器的 RAM;
- orientdb使用的磁盘缓存的默认空间是100%,在第一个链接中写到(可以通过storage.diskCache.bufferSize参数改变)
感谢大家!