Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Performance issue with self-assign dashboard #1237

Open
torgeirl opened this issue Sep 9, 2022 · 4 comments
Open

Performance issue with self-assign dashboard #1237

torgeirl opened this issue Sep 9, 2022 · 4 comments

Comments

@torgeirl
Copy link
Collaborator

torgeirl commented Sep 9, 2022

There seems to be a performance issue with the self-assign dashboard (#1218). According to Google Chrome's performance insights, the HTML has a waiting time of above 5s while the download time is ~zero. This could be related to #1236.

Edit: it might be an issue with how the filter(s) are build, I get terrible preformance for /devilry_examiner/self-assign/<semester-code>/filter/assignedstatus-assigned?cradmin-bgreplaced=true especially.

@torgeirl torgeirl added this to the Devilry 5.5 milestone Sep 9, 2022
@torgeirl torgeirl assigned torgeirl and unassigned torgeirl Sep 9, 2022
@espenak
Copy link
Member

espenak commented Sep 16, 2022

@torgeirl: As far as I can tell this must be because of the "count" queries that is used to filter by status and to show the counts in the status filters. We CAN change this to use much cheaper exists queries, but then we can not show the counts in the status filter.

It should really not be a problem to handle counts of a few thousand - we normally see this problem when counting millions or at least hundreds of thousands. The problem is usually that postgres has:

  • To little disk space (it really likes a lot of disk space to get good IOPS because it caches data is many different ways if it can.
  • Too little memory - if the indexes do not fit in memory, things slow down.

@espenak espenak self-assigned this Sep 16, 2022
@torgeirl
Copy link
Collaborator Author

The problem is usually that postgres has:

  • To little disk space (it really likes a lot of disk space to get good IOPS because it caches data is many different ways if it can.
  • Too little memory - if the indexes do not fit in memory, things slow down.

@espenak: I'm checking disk and memory status now to rule that out.

@torgeirl
Copy link
Collaborator Author

@espenak: our database server is plentiful on both disk space and memory; in fact, its postgres cache is about the same size of the entire database including indexes.

@torgeirl torgeirl removed this from the Devilry 5.5 milestone Sep 19, 2022
@torgeirl
Copy link
Collaborator Author

it might be an issue with how the filter(s) are build, I get terrible preformance for /devilry_examiner/self-assign/<semester-code>/filter/assignedstatus-assigned?cradmin-bgreplaced=true especially.

Transactions for /devilry_examiner/self-assign/{roleid}/filter/{filters_string} can be another place to look. Especially two of the 15 DB look-ups invoked by the view render for devilry_examiner_selfassign-self-assign-filter take up to 300-400s each, causing the transaction taking a total of 2s.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants