Do them in small batches. Groups of <20 allows an easy recover when things go south. If you don't, and have a fail, you lose the whole fetch job.
And WHY do they ALL need to get external metadata? Most books have the basics, and Calibre should have used that when it added (unless you set Add to use the Filename instead)
Be more selective.
Quality Check Plugin. It has many-many checks for missing 'this data value' Simply select the results and do your Get Metadata job. (Spin - repeat)
Now for the downside of BATCH get metadata: Some of it is WRONG

Some of it is inconsistent

(sometimes the Author or Publisher just changes the series name) Some sites are User submitted and those are all over the place book to book. Some have summaries others have Reviews. Some have a huge list of the Authors OTHER work. IMHO (Being a Joe Friday type) They all need TLC sip and not the fire hose application)
FWIW it took me almost a year to pound the metadata (Library data) into shape for 900+ paper books I track with Calibre