"1M socket connections" is easy.
Having them all do something useful at the same time is the hard part. (And no, "async" won't save you here.)
Having them all do something useful at the same time is the hard part. (And no, "async" won't save you here.)