503 Error with large CSV import
That's almost certainly a timeout issue - you can increase your timeout in php.ini, but I wouldn't use the UI at all for a million contacts.  Consider using a command-line import, where there should be no timeouts.

There are several approaches you can take.


Use the command-line API CSV import.  This is pretty solid but you need to import each file multiple times - once for contact data, once for postal addresses, once for phone, once for email.  If you script it, it's not bad.  I often use Hitachi Kettle to do this.
Use the Data Processor plugin and the REST API.  There's a recent blog post detailing this approach (using Hitachi Kettle actually).  This lets you import each file once.  However, the REST API is going to do something like 10 records/second, command-line import is far faster but requires command-line access to the server.
Write your own PHP script so you don't need to break the data up.