Can you give me more details on your process? At the theoretical maximum rate, pulling 208,000 contacts should only take ~3 minutes. Is there some processing you're doing that's causing it to take longer?
Also, any context around what exactly you're doing with the contacts would be helpful too. How frequently are you pulling all of the contacts in your database? Is it possible for you to use the 'Get recently modified' or 'Get recently created' endpoints instead? (see below)
208,000 contacts at 100 contacts per request means you need to make 2080 requests.
2080 requests at 10 requests per second will take 208 seconds, which is ~3.5 minutes.
Does your app/script do some sort of processing on the request body before making the next request? It sounds like you might not be making requests as fast as you could be, and my gut tells me that might be the reason. Is it possible for you to pull the contacts & queue them up for processing in a separate process? This would free you up to pull all 208,000 contacts within the 10 minute timeframe. From there, it'd be a matter of optimizing your processing to complete within the remining ~7 minutes.