At the moment I am evaluating multichain performance measuring stuff like, network sync times, Max tx/s in a multi-node network ~ 20 Nodes, also on different locations.
A first step was to check the performance of a single node over the internet in regards to [tx/sec].
When there is a high load I observed an error on the operating system level (Ubuntu) that says too many open files. So it seems, that on high rpc request load the ulimit is fully used up, but this should not happen in my opinion.
How are connections handled on the internal rpc server? Is there some keep-alive or a too high connection timeout? It seems that rpc requests that opened a connection don't get closed immediately and at some point use up all the resources. Of course I could increase the "ulimit -n" but I just wanted to check if this could be a possible optimization on multichain side.
Would it help if the client that send the rpc-requests set the header "Connection: close"?