I could not figure out how to do it properly, so I cheated, and changed the default in rpc/dial.go
instead:
- Capacity: 100,
+ Capacity: 5000,
and rebuilt the whole thing. I now see 6000+ active connections from 1000+ before the change:
before:
tcp_conn_est : 232 total: 1317
tcp_conn_est : 267 total: 1198
tcp_conn_est : 197 total: 1040
tcp_conn_est : 701 total: 1208
tcp_conn_est : 390 total: 1190
tcp_conn_est : 484 total: 1362
after:
tcp_conn_est : 217 total: 6109
tcp_conn_est : 242 total: 6058
tcp_conn_est : 372 total: 6088
tcp_conn_est : 205 total: 6193
But the connection churn remained the same – 200-400 new connections created and closed every second, albeit without occasional spikes to 700-800 as I was seeing before, so unless it’s a fluke, it seems to be an improvement too. Download performance improved from 45MBps to 52Mbps (I’ve ran each one few times)
The the app however failed to download some files with uplink: metaclient: context canceled
after about 20 mins of running.
I’m not sure what to make of it. Perhaps I shall increase the pool size to 20000 and see what happens.