我如何找出为什么 ipfs 运行 慢?

How do I find out why ipfs is running slowly?

我运行这个命令:

ipfs ls --headers Qme2sLfe9ZMdiuWsEtajWMDzx6B7VbjzpSC2VWhtB6GoB1/wiki/

它没有输出但也没有终止。我失去了耐心并杀死了它,但我想知道我是否能找出它在做什么花了这么长时间。 运行 它在 strace 下并没有使它更清楚。

ipfs ls 这样的命令将进入网络以尝试查找数据。如果由于某种原因无法找到数据(例如,没有人在线拥有它,有一个节点拥有数据但它在 NAT 后面,拥有它的节点尚未以您的节点可以找到它的方式公布数据等)然后 go-ipfs 将继续寻找谁拥有数据。

您可以看看 Bitswap 发生了什么(例如 ipfs bitswap stat),这可以帮助您确定您是否在寻找数据(即需求列表中的数据)时遇到困难。

某些函数还具有 --stream--progress 等标志,可帮助您查看增量更新。对于日志记录行为,有 ipfs log,其中 ipfs log level 可以帮助您进一步检查子系统。

请注意,如果您担心数据不可用时 CLI 响应不够快,则基本上可以将超时标志传递给所有 go-ipfs 命令(请参阅 ipfs --help 了解更多信息)在网络上。