I’m new to IPFS and I’d like to run a node on my home machine. However, whenever I have the daemon running it slows down my browser so much that I can’t justify running IPFS in the background.
I don’t understand exactly what is happening because there isn’t any major resource utilization happening. The following is a btop screenshot from when the daemon is running. The network isn’t being hammered by any measure, and there is hardly any CPU / disk usage.
If I kill the daemon, browsing becomes fast again, but the resource usage doesn’t seem to change much.
I also tried to directly measure pings, but they don’t seem to care if the daemon is on:
$ ping google.com
PING google.com (142.250.80.14) 56(84) bytes of data.
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=1 ttl=117 time=18.1 ms
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=2 ttl=117 time=19.9 ms
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=3 ttl=117 time=20.9 ms
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=4 ttl=117 time=17.4 ms
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=5 ttl=117 time=22.5 ms
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=6 ttl=117 time=21.1 ms
or off
$ ping google.com
PING google.com (142.250.80.14) 56(84) bytes of data.
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=1 ttl=117 time=23.2 ms
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=2 ttl=117 time=23.5 ms
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=3 ttl=117 time=25.2 ms
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=4 ttl=117 time=18.3 ms
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=5 ttl=117 time=19.7 ms
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=6 ttl=117 time=17.8 ms
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=7 ttl=117 time=23.6 ms
64 bytes from lga34s33-in-f14.1e100.net (142.250.80.14): icmp_seq=8 ttl=117 time=23.9 ms
I also did a speed test with the daemon on:
220.4 Mbps download
11.6 Mbps upload
Latency: 12 ms
And with the daemon off:
225.8 Mbps download
11.6 Mbps upload
Latency: 12 ms
I don’t understand it. Navigating to a web page is extremely slow with the daemon on (and fast when if is off), but actual measures of bandwidth don’t seem impacted at all.
I’m hoping there is some way to modify the config to mitigate this problem. I’m currently using the “lowpower” profile.
Relevant bits of the config are as follows:
"Datastore": {
"StorageMax": "100GB",
"StorageGCWatermark": 90,
"GCPeriod": "1h",
"Spec": {
"mounts": [
{
"child": {
"path": "blocks",
"shardFunc": "/repo/flatfs/shard/v1/next-to-last/2",
"sync": true,
"type": "flatfs"
},
"mountpoint": "/blocks",
"prefix": "flatfs.datastore",
"type": "measure"
},
{
"child": {
"compression": "none",
"path": "datastore",
"type": "levelds"
},
"mountpoint": "/",
"prefix": "leveldb.datastore",
"type": "measure"
}
],
"type": "mount"
},
"HashOnRead": false,
"BloomFilterSize": 0
},
"Mounts": {
"IPFS": "/ipfs",
"IPNS": "/ipns",
"FuseAllowOther": false
},
"Discovery": {
"MDNS": {
"Enabled": true,
"Interval": 10
}
},
"Routing": {
"Type": "dhtclient"
},
"Ipns": {
"RepublishPeriod": "",
"RecordLifetime": "",
"ResolveCacheSize": 128
},
"Gateway": {
"HTTPHeaders": {
"Access-Control-Allow-Headers": [
"X-Requested-With",
"Range",
"User-Agent"
],
"Access-Control-Allow-Methods": [
"GET"
],
"Access-Control-Allow-Origin": [
"*"
]
},
"RootRedirect": "",
"Writable": false,
"PathPrefixes": [],
"APICommands": [],
"NoFetch": false,
"NoDNSLink": false,
"PublicGateways": null
},
"API": {
"HTTPHeaders": {}
},
"Swarm": {
"AddrFilters": null,
"DisableBandwidthMetrics": false,
"DisableNatPortMap": false,
"RelayClient": {},
"RelayService": {},
"Transports": {
"Network": {},
"Security": {},
"Multiplexers": {}
},
"ConnMgr": {
"Type": "basic",
"LowWater": 20,
"HighWater": 40,
"GracePeriod": "1m0s"
}
},
"AutoNAT": {
"ServiceMode": "disabled"
},
"Pubsub": {
"Router": "",
"DisableSigning": false
},
"Peering": {
"Peers": null
},
"DNS": {
"Resolvers": {}
},
"Migration": {
"DownloadSources": [],
"Keep": ""
},
"Provider": {
"Strategy": ""
},
"Reprovider": {
"Interval": "0",
"Strategy": "all"
},
"Experimental": {
"FilestoreEnabled": false,
"UrlstoreEnabled": false,
"GraphsyncEnabled": false,
"Libp2pStreamMounting": false,
"P2pHttpProxy": false,
"StrategicProviding": false,
"AcceleratedDHTClient": false
},
"Plugins": {
"Plugins": null
},
"Pinning": {
"RemoteServices": {}
},
"Internal": {}
Currently using
go-ipfs version: 0.12.0-rc1
Repo version: 12
System version: amd64/linux
Golang version: go1.16.12
I’m wondering if this might be an issue with my router configuration? I don’t know what else could be going on. Any ideas?