I thought you can make only 65k connections per port because of TCP limitations.
This means that in order to test 1M simultaneous connections, you would need to use at least 16 client IP addresses. Probably more.
127.0.0.2
127.0.0.3
etc.
I once had to test a piece of software that identified its connections by the source IP, so I had a script to create thousands of loopback addresses within 127.0.0.0/8 and then run against that software and verify the connections were doing what they were supposed to do. (This was on Mac OS X.)