-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
Closed
Labels
topic/perfPerformancePerformance
Description
It takes over 1 minute to transfer 21 MB between two machines on a local network.
For most of this test, the receiver's ipfs daemon
uses 150% CPU - suggesting it bottlenecks the old dual-core hardware. However, ipfs add
hashes new 30 MB files in under 10 seconds. I don't yet understand why the network transfer adds so much overhead.
Workaround: run the slow node with ipfs daemon --routing=none
.
Sender
# ipfs version 0.4.15
ipfs daemon &
ipfs add vlc-2.2.8.tar.xz
Receiver
- debug logs at https://ipfs.io/ipfs/QmatpivLt2xZnitmxaJa4TJD7cfMgKeWqz7d1cnzQtV88p
- old debug logs at https://ipfs.io/ipfs/QmNise8eWJAenaes4eSzebGayf6LuEpLBPUAzjKHJJgdqQ
# ipfs version 0.4.15
ipfs daemon &
ipfs repo gc
time ipfs cat QmaSSwsS2nAjExnxrqwKtmK5rLLhmqpju1HCsnPSigtHmV > /dev/null
After a few seconds, the transfer starts but it stutters at 1.38 MB, 3.75 MB, 7.50 MB, etc.
real 1m17.238s
user 0m0.652s
sys 0m1.255s
Without ipfs repo gc
it takes about 5 seconds. As iperf
shows, the network connection is fine.
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 112 MBytes 93.8 Mbits/sec
fiatjaf and CsterKuroi
Metadata
Metadata
Assignees
Labels
topic/perfPerformancePerformance