首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何跟踪Dask集群内的传输带宽?

如何跟踪Dask集群内的传输带宽?
EN

Stack Overflow用户
提问于 2019-05-18 02:57:40
回答 1查看 57关注 0票数 0

我想在我的Dask集群上执行一些网络基准测试。获取有关最近传输的详细信息的最佳方式是什么?

EN

回答 1

Stack Overflow用户

发布于 2019-05-18 02:57:40

仪表板

许多人使用Dask's dashboard来实现这一点,并注意任务流图中是否存在红色条。

get_task_stream

然而,如果你正在做基准测试,那么在计算过程中查看实时图的想法可能不是你想要的。您可以使用dask.distributed.get_task_stream上下文管理器获取相同的信息。

代码语言:javascript
运行
复制
>>> from dask.distributed import get_task_stream
>>> with get_task_stream() as ts:
...     x.compute()
>>> ts.data
[...]

这将包括有关计算和数据传输的信息,因此您必须对它们进行一些筛选。

transfer_logs

此外,在撰写本文时,任务工作者在Worker.incoming_transfer_logWorker.outgoing_transfer_log属性中维护每个传输的日志。您可以使用Client.run方法来获取这些内容。

代码语言:javascript
运行
复制
>>> client.run(lambda dask_worker: dask_worker.incoming_transfer_log)
{'tcp://192.168.1.191:50637': deque([]),
 'tcp://192.168.1.191:50638': deque([]),
 'tcp://192.168.1.191:50640': deque([{'start': 1558119113.3489196,
         'stop': 1558119113.4012725,
         'middle': 1558119113.375096,
         'duration': 0.0523529052734375,
         'keys': {"('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 27, 0)": 463941,
          "('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 23, 0)": 464477,
          "('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 7, 0)": 463708,
          "('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 15, 0)": 464091,
          "('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 19, 0)": 464826,
          "('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 3, 0)": 463847,
          "('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 11, 0)": 464200},
         'total': 3249090,
         'bandwidth': 62061312.22384144,
         'who': 'tcp://192.168.1.191:50642'},
        {'start': 1558119113.3484848,
         'stop': 1558119113.4085395,
         'middle': 1558119113.3785121,
         'duration': 0.060054779052734375,
         'keys': {"('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 12, 0)": 463485,
          "('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 24, 0)": 464183,
          "('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 16, 0)": 464061,
          "('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 4, 0)": 464161,
          "('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 8, 0)": 463925,
          "('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 0, 0)": 464214,
          "('dataframe-sum-chunk-5b219ece79c8315870694c0e17df68ee', 0, 20, 0)": 464070},
         'total': 3248099,
         'bandwidth': 54085604.03074382,
         'who': 'tcp://192.168.1.191:50637'},

这是由worker键入的,并给出了每次传输的开始/停止/总字节数/发送者/接收者。但是,此解决方案使用内部API,因此可以随时更改。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56192119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档