哪些硬件因素(如果有的话)决定了 Corda 节点的性能?
Which hardware factors (if any) determine the performance of a Corda Node?
我有兴趣了解各种硬件因素如何影响 Corda 节点的性能以及垂直扩展的潜力。在这种情况下,性能将被广泛定义为:
- 交易吞吐量
- 启动时间
当 运行 在生产环境(独立地,在云端)或本地测试(许多本地节点可能 运行 在自举网络中)。
在之前的测试中,我尝试使用引导节点 node.conf - custom = { jvmArgs : [ "-Xms1g", "-Xmx1g" ] }
中的自定义字段将默认内存分配从 512mb 增加到 1gb,但对启动时间和 TPS 的影响微不足道.
关于交易吞吐量:
Cores - 您的节点可用的核心数量直接
与它在特定时间内可以处理的 threads/requests 数量有关。
内存 - 您拥有的 RAM 越多,您的交易请求就越多
节点可以支持,并且这些交易中的每一个都可以更大。如果内存太低,您可能会遇到可怕的 Java 堆内存不足错误,这将使节点崩溃,因为它无法再分配对象。
线程 - 假设 #1 和 #2 已正确分配给节点 运行 所在的虚拟机,那么您的吞吐量将被限制为 threads/requests 调用节点的应用程序可以在设定的时间范围内生成。
延迟 - 您的应用程序和目标节点的接近度也很重要,因为每个请求都会根据数据包必须传输的距离产生一些延迟损失。
Checkout Node Tuning & Performance
This medium post 还涉及与附件有关的这些主题
我有兴趣了解各种硬件因素如何影响 Corda 节点的性能以及垂直扩展的潜力。在这种情况下,性能将被广泛定义为: - 交易吞吐量 - 启动时间
当 运行 在生产环境(独立地,在云端)或本地测试(许多本地节点可能 运行 在自举网络中)。
在之前的测试中,我尝试使用引导节点 node.conf - custom = { jvmArgs : [ "-Xms1g", "-Xmx1g" ] }
中的自定义字段将默认内存分配从 512mb 增加到 1gb,但对启动时间和 TPS 的影响微不足道.
关于交易吞吐量:
Cores - 您的节点可用的核心数量直接 与它在特定时间内可以处理的 threads/requests 数量有关。
内存 - 您拥有的 RAM 越多,您的交易请求就越多 节点可以支持,并且这些交易中的每一个都可以更大。如果内存太低,您可能会遇到可怕的 Java 堆内存不足错误,这将使节点崩溃,因为它无法再分配对象。
线程 - 假设 #1 和 #2 已正确分配给节点 运行 所在的虚拟机,那么您的吞吐量将被限制为 threads/requests 调用节点的应用程序可以在设定的时间范围内生成。
延迟 - 您的应用程序和目标节点的接近度也很重要,因为每个请求都会根据数据包必须传输的距离产生一些延迟损失。
Checkout Node Tuning & Performance
This medium post 还涉及与附件有关的这些主题