将ArangoDb与Docker mem_limit一起使用

时间:2017-12-11 10:31:39

标签: docker arangodb

我们现在使用arangodb作为一个非常小的图形(60-100)节点,我们希望使用docker-compose中的mem_limit将docker容器的内存限制为1GB。

是否可以将arangodb配置为在此限制范围内生效?

我们很难找到内存配置文档,到目前为止只有https://www.arangodb.com/2016/03/put-arangodb-spartan-mode/

1 个答案:

答案 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>