The maximum value for socket-lease-time is 10 minutes, or 600000 ms. Changing the socket-lease-time to the maximum value means a connection will need to remain idle for a much longer period of time before getting torn down.
It is possible also, to completely eliminate the tearing down of P2P connections, by setting socket-lease-time=0. This means that any connections established never get cleaned up. In this situation, you need to make sure that you are not having any resource issues, or lack thereof, in your environment.
The recommendation is to set socket-lease-time to 600000 ms, and then reassess your performance.
There is a statistic called senderTimeouts that maps directly to how many times we clean up such idle connections. If you observe the stats and see a great decrease of senderTimeouts per second when you have increased the socket-lease-time to 600000 ms, you have definitely improved your behavior.