我们现在使用arangodb作为一个非常小的图形(60-100)节点,我们希望使用docker-compose中的mem_limit将docker容器的内存限制为1GB。
是否可以将arangodb配置为在此限制范围内生效?
我们很难找到内存配置文档,到目前为止只有https://www.arangodb.com/2016/03/put-arangodb-spartan-mode/。
答案 0 :(得分:3)
你可以将arangod
可用的任何参数传递给在这样的docker容器中运行的arangod:
docker run \
-e ARANGO_RANDOM_ROOT_PASSWORD=1 \
-e ARANGO_STORAGE_ENGINE=rocksdb \
-p 8529:8529 \
-d arangodb \
\
arangod \
--log.file /var/log/arangodb3/arangod.log \
--foxx.queues false \
--rocksdb.block-cache-size 0 \
--cache.size 0
并可以使用它来控制所有可用的arangodb参数。 要使用更少的内存,您可能希望使用rocksdb存储引擎。
您可能希望配置rocksdb engine, like disabling caches以减少内存占用而性能较低。您还可以使用disable the cache来提高图表遍历性能。
然而,没有办法将ArangoDB限制在一定数量的内存中,并且通过从外部限制它,你可能会牺牲稳定性,因为它无法分配内存并且因OOM错误而失败。 / p>