- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道有人遇到过这种情况:
通过 AQL 插入文档时,我可以轻松终止我的 arango 服务器。例如
FOR i IN 1 .. 10
FOR u IN users
INSERT {
_from: u._id,
_to: CONCAT("posts/",CEIL(RAND()*2000)),
displayDate: CEIL(RAND()*100000000)
} INTO canSee
(其中用户包含 500000 个条目),会发生以下情况
好吧,我正在创建大量条目,AQL 可能会以批量执行此操作的方式实现。通过 db.save 方法进行写入时,它可以工作,但速度要慢得多。
此外,我怀疑这可能与预写缓存填满有关。
但是,有办法解决这个问题吗?向数据库写入大量条目并不一定会杀死它。
日志说
DEBUG [./lib/GeneralServer/GeneralServerDispatcher.h:411] shutdownHandler called, but no handler is known for task
DEBUG [arangod/VocBase/datafile.cpp:949] created datafile '/usr/local/var/lib/arangodb/journals/logfile-6623368699310.db' of size 33554432 and page-size 4096
DEBUG [arangod/Wal/CollectorThread.cpp:1305] closing full journal '/usr/local/var/lib/arangodb/databases/database-120933/collection-4262707447412/journal-6558669721243.db'
最佳
最佳答案
上述查询将在单个事务中将 5M 文档插入到 ArangoDB 中。这将需要一段时间才能完成,并且当事务仍在进行时,它将在内存中保存大量(可能需要的)回滚数据。
此外,上述查询将首先构建要插入内存中的所有文档,完成后将开始插入它们。构建所有文档也会消耗大量内存。执行此查询时,您将看到内存使用量稳步增加,直到实际插入开始时磁盘写入才会开始。
至少有两种方法可以改善这一点:
将查询拆分为多个较小的事务可能会有所帮助。这样,每一笔交易就不会像原始交易那么大,并且在进行时也不会阻塞那么多系统资源。
对于上面的查询,从技术上讲,没有必要先构建所有文档以插入内存,然后才将它们全部插入。相反,从用户
读取的文档可以在到达时插入到canSee
中。这不会加快查询速度,但会显着降低查询执行期间对于如上所述大的结果集的内存消耗。它还将导致写入立即开始,从而提前开始预写日志收集。并非所有查询都适合此优化,但有些查询(包括上述查询)适合。我今天研究了一种机制,可以检测合格的查询并以这种方式执行它们。该更改已于今天推送到开发分支,并将在 ArangoDB 2.5 中提供。
关于arangodb - 大量插入杀死了 arangod(好吧,几乎),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28322579/
我能够使用 https://docs.arangodb.com/3.0/Manual/Deployment/Distributed.html 中提到的过程启动 Arango 集群 我们不想每次都在命令
我想知道有人遇到过这种情况: 通过 AQL 插入文档时,我可以轻松终止我的 arango 服务器。例如 FOR i IN 1 .. 10 FOR u IN users INSERT {
我想知道有人遇到过这种情况: 通过 AQL 插入文档时,我可以轻松终止我的 arango 服务器。例如 FOR i IN 1 .. 10 FOR u IN users INSERT {
在 /server.pem 中使用自签名证书在端口 8529 上运行 TLS 1.2 时,arangod.conf 是什么样的?当前的文档只列出了启动服务器的参数,而不是等效的 arangod.con
我已经配置了三个虚拟机(通过 Azure),都运行 Ubuntu 16.04。每个虚拟机都运行 ArangoDB 3.1.8。 虽然我可以让单台机器成功运行 Arango 并访问 UI,但我似乎无法使
它要求 --server.endpoint选项,但我给它的任何东西都不起作用。有没有人在 Windows 上运行过这个数据库? 最佳答案 我已经完成了以下操作: 在 Windows 8 下将“aran
我是一名优秀的程序员,十分优秀!