【问题标题】:Crate - What is the minimum memory requirement for a node host?Crate - 节点主机的最低内存要求是多少?
【发布时间】:2016-03-26 08:44:34
【问题描述】:

我可以找到具有 128MB RAM 的廉价 VPS 主机,我想知道这是否足以为小型数据库运行 crate 节点,最初用于测试。 (我不是在寻找 recommended 内存,而是 minimum 内存,因为它不会遇到内存不足的异常。Crate 应该是节点。)

【问题讨论】:

  • 您希望能够运行什么样的查询 - 您希望有多少条记录?显然,内存越少,您的响应可以处理的数据就越少。
  • ~10000 条记录,每条 ~10Kb;在高峰期,它必须处理 10 次写入/分钟和 100 次读取/分钟。对列的值、数组元素和一个全文列进行简单查询(无连接)。
  • 每次读取必须带来最多 100 条 10Kb 的记录(总计最大 1MB/读取)。每次写入只保存一条记录。

标签: database out-of-memory low-memory crate


【解决方案1】:

在这样的环境下运行 Crate 是可能的。不过,我不会推荐它。在任何情况下,您都需要采取一些预防措施:

  1. 选择一个精简的 Linux 发行版,它实际上以如此小的内存占用启动和运行。阿尔卑斯山可能是一种选择。
  2. 安装 Java。您至少需要 openjdk7(更新 55 及更高版本)。
  3. 按照 Crate 网站上的说明从 tarball 安装和启动 Crate。

在基于 Alpine 3.3 的具有 128 MB RAM 的虚拟机上,我在磁盘上安装了openjdk8-jre(您必须在/etc/apk/repositories 中启用社区存储库)。我下载了 Crate 0.54.7 压缩包并解压缩了它。我设置了CRATE_HEAP_SIZE=64m,因为这是推荐的可用内存的一半。

我创建了一个表格“演示”

DROP TABLE IF EXISTS demo;
CREATE TABLE demo (
    data string
);

并用 10,000 条 10 KB 随机字符串的记录填充它,每条记录都使用慢速 bash 脚本:

head -c7380 /dev/urandom | uuencode - | grep ^M | tr -d '\n\047'

这需要几分钟(大约 20 条记录/秒),但使用批量插入应该方式更快并且只需几秒钟。

根据管理 UI 的报告,净数据量约为 100 MB,总共占用了 287 MB 的磁盘空间。

操作系统、安装的软件和数据总共占用了 820 MB 磁盘空间。

我将内存量配置为交换空间的两倍,并得到以下占用空间(没有数据的 Crate 进程本身占用大约 40 MB):

# free
             total       used       free     shared    buffers     cached
Mem:        120472     117572       2900          0        652       6676
-/+ buffers/cache:     110244      10228
Swap:       240636     131496     109140

对所有 10,000 条记录 (SELECT count(*) FROM demo WHERE data LIKE '%ABC%') 进行全文搜索大约需要 1.9 秒。

总结:是的,这是可能的,但如果你真的这样做,你会失去很多功能。您的结果很大程度上取决于您实际运行的查询类型。

【讨论】:

    【解决方案2】:

    我刚刚试了一下可以将 HEAP 大小减小到多少,看起来64MB heap(128MB 内存)可以满足您的用例。

    确保使用 CRATE_HEAP_SIZE (docs) 环境变量正确设置 HEAP 大小,并将 bootstrap.mlockall: true (docs) 设置为 JVM 不交换内存。

    但是,我建议至少 256MB HEAP(512MB 内存)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-18
      • 2019-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-29
      • 2015-04-10
      相关资源
      最近更新 更多