所以我有一个工人码头图像。我想启动一个由500-50000个节点组成的网络,以模拟私有区块链在不同规模上发生的情况。对于这样的工作,开放源码工具/库有什么建议:
a)确保即使在低端节点(例如一个40核节点)上,所有工作进程也将在时间上均匀(而不是实时)向前移动
b)将允许(a)在分布式设置中(例如,单个lan上的10个低端节点)
换句话说,我不寻求实时的网络仿真,所以我可以等待10个小时来模拟1分钟,这对我来说已经足够了。我想到了Kathara,但是仍然存在一个问题--如何确保以循环的方式给10000个容器提供相同数量的滴答?
那么,如何模拟码头工人的复杂网络呢?
发布于 2018-10-29 22:33:15
我假设你会在一个容器中运行每一个。为确保每个容器以相似的CPU访问方式运行,您可以在每个副本上配置CPU预留和限制。这些数字被计算到内核的小数部分,因此在8核系统上,您可以为每个容器分配一个内核的0.01,以运行800个以上的容器。请参阅compose documentation on how to set resource constraints。使用群模式,您可以将这些副本分布在多个节点上,共享一个网络。
也就是说,我认为在更多的硬件上运行更短的模拟是很好的。您会发现,很大一部分时间都花在了每个流程之间的上下文切换上,这可能会使您想要采取的任何测量方法失效。
您还会遇到docker和您选择的编排工具的可伸缩性问题。例如,您将需要调整任何共享网络的子网大小,这些共享网络默认为具有大约253个可用IP的/24。docker引擎本身可能会花费大量的CPU时间来维护所有运行的容器的状态。
https://stackoverflow.com/questions/52882846
复制相似问题