Open Bug 1317875 Opened 8 years ago Updated 2 years ago

Use multiple HTTP connections to upload files

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(Not tracked)

People

(Reporter: gps, Unassigned)

References

(Blocks 1 open bug)

Details

Currently in mozharness's buildbase.py, upload_files() and _taskcluster_upload() upload files sequentially, using a single I/O thread.

From my work optimizing the decision graph, I know that throwing multiple I/O threads/connections at the problem will make things significantly faster.

We should plug in concurrent.futures and a requests.Session and aggressively use multiple I/O threads to perform uploads. See the code in taskcluster/taskgraph/create.py for inspiration.

Perfherder data says the upload step takes ~3 minutes on average on Linux. I think we can reduce it to less than 60s. Since upload is in the critical path for running tests, this should speed up end to end times by whatever we reduce the wall time execution by.
Product: Core → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.