How to handle 20k concurrent persistent connections

Solution 1:

Use both at once in combination. Assign something on the order of 1,000 connections to a process. Use a manager to distribute connections and spawn new processes if you reach a point where every current handling process is saturated.

Solution 2:

Well, since you can use 2 servers to handle 10k each, why not use 5 servers and handle 4k on each?