[DRAFT - fixing tests] #3275: Slowness on Domain, Domain Info and Domain Requests #3340
+103
−91
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Ticket 3275
Resolves #3275
Changes
Context for reviewers
The admin tables for Domain Requests, Domains, and Domain Information were given a thorough check-up to tease out any remaining opportunities for optimization and to diagnose causes of slow load times.
Findings for root cause of slowness
We already have taken measures to optimize performance of the admin tables, so the cause of slowness this time around was determined to be two filters that were recently added and not optimized for performance -- GenericOrgfilter and FederalTypeFilter. These were added during the course of updating our model structure to use converted fields. However, they were making expensive database calls. They have been revised to be avoid making such calls.
Areas that were verified to be optimized
It is worth noting that the following structures/subroutines were examined and determined to NOT cause slowness. (Code was commented out down to a bare-bones load, then different areas where systematically added back in to see performance impact. Performance was tested for 100000 records. We might want to re-examine some of these areas if we see performance issues with larger data sets)
Setup
Code Review Verification Steps
Do the following for DomainRequest, Domain, and DomainInformation tables
As the original developer, I have
Satisfied acceptance criteria and met development standards
Ensured code standards are met (Original Developer)
Validated user-facing changes (if applicable)
As a code reviewer, I have
Reviewed, tested, and left feedback about the changes
Validated user-facing changes as a developer
Note: Multiple code reviewers can share the checklists above, a second reviewer should not make a duplicate checklist. All checks should be checked before approving, even those labeled N/A.
As a designer reviewer, I have
Verified that the changes match the design intention
Validated user-facing changes as a designer
References
Screenshots