The issue turned out to be copying and fingerprinting artifacts. Once I removed the creation, fingerprinting, and copying of the artifacts, the performance issue completely disappeared. The artifacts were a necessary step in order to aggregate test results, but as I had 300+ downstream jobs copying the artifacts, it turned out to be too much of a performance drag.
The solution I ended up implementing was to create a MySQL database on the Jenkin's master, and then use results from each job to insert, aggregate, and search results. As Jenkins is slow at formatting TAP, I ended up creating my own little website to display the results.