I think monero is interesting and want to support it a little.
To do so i setup a public full node on my home-server (3900x with NVMe SSD) and configured it so that it is allowed to use up to 50% of my bandwidth (i have 500 MBit/s down and 40 MBit/s up)
I'm now not that sure how to configure in-peers and out-peers in a way that strengthens the network.
My assumption would be that a high number of out-peers is bad because my server would be blocking in-connections of other nodes, and a high number if in-peers is good because i allow more people to download the chain.
Are these assumptions correct?
What would be some good values for in-peers and out-peers?
I currently configured 128 out-peers and 1024 in-peers. Is one of these exessive or not enough?
Update:
I decided to go with 64 out-peers and 256 in-peers for now. See this comment for an explanation
--out-peers 64 --in-peers 32 is needed to (1) have many connections to other nodes and (2) limit incoming connection count because it can grow uncontrollably and cause problems when it goes above 1000 (open files limit in Linux). If your network connection's upload bandwidth is less than 10 Mbit, use --out-peers 16 --in-peers 8 instead.
ok, so if i read this correctly, then the p2pool folks say: if you have 10 MBit/s or more use 32 in-peers (that's 40KB/s per in-peer).
Don't use more than 1000 because of the linux file limit (which can be changed)
So according to their numbers, with my 20 MBit/s limit i set i should choose about 64 in-peers.
I just looked at the upload-traffic of the last 21 hours.
In total i used 44.55 GB of upload-bandwidth in that time, which is about 4.71 MBit/s or 603 KB/s.
There were about 130-140 connected peers in that time.
That equals about 0.03492 MBit/s or 4.47 KB/s per connected in-peer
With my 20 MBit/s limit that should allow for ~573 peers. This is average speed though, and there are probably spikes in network usage all the time. So if i apply a buffer of ~50% i should be able to serve about 256 in-peers with an average of 10 KB/s per in-peer.
I'll set it to 64 out and 256 in and let it run a couple of days and see how it goes :)
There have not yet been more than 150 connected peers anyway
Yes, actually trying and seeing is the best way, if you’d really like to fine-tune anything. I don’t have much technical knowledge but empirically, any value may be about as good as another, if not too extreme. The end results might be about the same no matter which you use: 64, 80, 96, 128, etc. and just using the default settings may be good enough.
P2Pool may be somewhat special, as it’s not just about running a full-node but you have to run like 3 tools (each possibly resource-hungry) at the same time.