首页 > 解决方案 > Apache Ignite 和 Yardstick

问题描述

有人可以向我解释有关 Apache Ignite 和 Yardstick 的信息吗?

据我所知,Yardstick 是 Apache Ignite 的基准工具。

我知道如何运行 Apache Ignite 以及如何设置它的内存容量。(我知道默认是 1 GB)

当我运行 Ignite 时,它​​显示:

[15:37:06] Topology snapshot [ver=1, servers=1, clients=0, CPUs=4, heap=4.0GB]

当我运行 yardstick 对其进行基准测试时,Ignite 显示:

[15:37:06] Topology snapshot [ver=2, servers=1, clients=1, CPUs=4, heap=6.0GB]

那么为什么要增加 2.0GB 呢?我该如何修改它?

另外,这是我所知道的。Apache Ignite 从机器中获取一些内存并使用 Yardstick,它可以像 Ignite 占用的内存中的cache.put()东西一样测试性能。如果正确,则不应将堆从 4.0GB 增加到 6.0GB,因为 Yardstick 可以在内存 (4.0GB) 内进行基准测试

有没有人可以解释一下这个?

标签: javaigniteyardstick

解决方案


Yardstick 使用以下两个角色之一启动 Ignite 节点:serverdriver

驱动程序生成工作负载并测量性能和有用的统计数据。这些通常是客户端节点。

服务器形成一组核心节点,处理由驱动程序生成的工作负载。

每个节点通常在单独的进程中运行。每个人都使用尽可能多的堆。

看起来您手动启动了一个服务器节点,它配置了 4 GB 的堆,而 Yardstick 驱动程序有 2 GB。这就是 4+2 给出 6 的方式 :)

PS如果您使用与 Ignite 二进制文件一起分发的 shell 脚本来运行基准测试,您可以在属性文件中指定节点的数量及其配置。Yardstick 将自行启动服务器节点,您不必手动执行此操作。

这是此类属性文件的示例,其中包含所有已配置属性的注释:https ://github.com/apache/ignite/blob/master/modules/yardstick/config/benchmark-atomic.properties


推荐阅读