Importer: Import Tags in Parallel
Context
The importer spends a comparatively long time fetching manifest descriptors from tag names during the import step after a pre-import compared to ensure the related manifest is in the database and linking it to the tag within the database.
Since we fetch the complete list of tags before this step, fetching the manifest digests in parallel before sending them to the database is a natural optimization. This has been explored here with good results: #324 (comment 533030810)
Proposal
This is mostly implemented here: https://gitlab.com/gitlab-org/container-registry/-/blob/experimental/preimport/registry/datastore/importer.go#L457, but it needs to be merged and reviewed into the main branch.
Edited by Hayley Swimelar