Page MenuHomePhabricator

Improve performance of "phabricator:20210215.changeset.02.phid-populate.php"
ClosedPublic

Authored by epriestley on Fri, Feb 19, 3:48 PM.

Details

Summary

Ref T13613. Improve the performance of this migration by using a temporary table and an "UPDATE x JOIN y ..." pattern.

Test Plan
  • Ran on secure, got exit after a few seconds since the migration is idempotent and changesets already had PHIDs.
  • Ran on secure with the continue; commented out, got valid new PHIDs in 53s (from 153s).
  • Tried a larger page size (16K), didn't see any improvement.
  • From "--trace", client PHID generation seems to be the limiting factor.

Diff Detail

Repository
rP Phabricator
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

Owners added a subscriber: Restricted Owners Package.Fri, Feb 19, 3:48 PM

From "--trace", client PHID generation seems to be the limiting factor.

I think this isn't quite true. On secure, generating 400K PHIDs in a standalone script takes 7s, so this isn't totally trivial but is only ~13% of remaining runtime. I don't see any obvious wins remaining here, though.

This revision was not accepted when it landed; it landed in state Needs Review.Fri, Feb 19, 3:53 PM
This revision was automatically updated to reflect the committed changes.