java - 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) 内进行基准测试
有没有人可以解释一下这个?
解决方案
Yardstick 使用以下两个角色之一启动 Ignite 节点:server或driver。
驱动程序生成工作负载并测量性能和有用的统计数据。这些通常是客户端节点。
服务器形成一组核心节点,处理由驱动程序生成的工作负载。
每个节点通常在单独的进程中运行。每个人都使用尽可能多的堆。
看起来您手动启动了一个服务器节点,它配置了 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
推荐阅读
- ruby-on-rails - 需要在铁轨上显示一个标志,但仍然卡在上面,你能给我一些想法吗?
- react-testing-library - 反应测试库渲染,子道具未定义
- node.js - 不同库存用户的MongoDB数据结构
- cqrs - 如何在重启时持久化和重播 NestJS CQRS 事件和传奇?
- c++ - 在头文件中声明一个对象
- selenium-webdriver - 如何在 Mozilla 的 Selenium Web 驱动程序中使用 Java 处理弹出的网站?
- sql-server - 过滤 SQL server 查询偏移时区
- c# - 如何找出符合条件的DataGridView行数
- c - 我如何跟踪所有 fork()
- jmeter - 有没有办法在 nexus 存储库中自动存储 jmeter 结果?