mirror of
https://github.com/go-gitea/gitea.git
synced 2026-03-22 14:34:54 -05:00
Horrible Dashboard Delay After Upgrade #13579
Closed
opened 2025-11-02 10:46:41 -06:00 by GiteaMirror
·
29 comments
No Branch/Tag Specified
main
release/v1.25
release/v1.24
release/v1.23
release/v1.22
release/v1.21
release/v1.20
release/v1.19
release/v1.18
release/v1.17
release/v1.16
release/v1.15
release/v1.14
release/v1.13
release/v1.12
release/v1.11
release/v1.10
release/v1.9
release/v1.8
v1.25.3
v1.25.2
v1.25.1
v1.25.0
v1.24.7
v1.25.0-rc0
v1.26.0-dev
v1.24.6
v1.24.5
v1.24.4
v1.24.3
v1.24.2
v1.24.1
v1.24.0
v1.23.8
v1.24.0-rc0
v1.25.0-dev
v1.23.7
v1.23.6
v1.23.5
v1.23.4
v1.23.3
v1.23.2
v1.23.1
v1.23.0
v1.23.0-rc0
v1.24.0-dev
v1.22.6
v1.22.5
v1.22.4
v1.22.3
v1.22.2
v1.22.1
v1.22.0
v1.23.0-dev
v1.22.0-rc1
v1.21.11
v1.22.0-rc0
v1.21.10
v1.21.9
v1.21.8
v1.21.7
v1.21.6
v1.21.5
v1.21.4
v1.21.3
v1.21.2
v1.20.6
v1.21.1
v1.21.0
v1.21.0-rc2
v1.21.0-rc1
v1.20.5
v1.22.0-dev
v1.21.0-rc0
v1.20.4
v1.20.3
v1.20.2
v1.20.1
v1.20.0
v1.19.4
v1.21.0-dev
v1.20.0-rc2
v1.20.0-rc1
v1.20.0-rc0
v1.19.3
v1.19.2
v1.19.1
v1.19.0
v1.19.0-rc1
v1.20.0-dev
v1.19.0-rc0
v1.18.5
v1.18.4
v1.18.3
v1.18.2
v1.18.1
v1.18.0
v1.17.4
v1.18.0-rc1
v1.19.0-dev
v1.18.0-rc0
v1.17.3
v1.17.2
v1.17.1
v1.17.0
v1.17.0-rc2
v1.16.9
v1.17.0-rc1
v1.18.0-dev
v1.16.8
v1.16.7
v1.16.6
v1.16.5
v1.16.4
v1.16.3
v1.16.2
v1.16.1
v1.16.0
v1.15.11
v1.17.0-dev
v1.16.0-rc1
v1.15.10
v1.15.9
v1.15.8
v1.15.7
v1.15.6
v1.15.5
v1.15.4
v1.15.3
v1.15.2
v1.15.1
v1.14.7
v1.15.0
v1.15.0-rc3
v1.14.6
v1.15.0-rc2
v1.14.5
v1.16.0-dev
v1.15.0-rc1
v1.14.4
v1.14.3
v1.14.2
v1.14.1
v1.14.0
v1.13.7
v1.14.0-rc2
v1.13.6
v1.13.5
v1.14.0-rc1
v1.15.0-dev
v1.13.4
v1.13.3
v1.13.2
v1.13.1
v1.13.0
v1.12.6
v1.13.0-rc2
v1.14.0-dev
v1.13.0-rc1
v1.12.5
v1.12.4
v1.12.3
v1.12.2
v1.12.1
v1.11.8
v1.12.0
v1.11.7
v1.12.0-rc2
v1.11.6
v1.12.0-rc1
v1.13.0-dev
v1.11.5
v1.11.4
v1.11.3
v1.10.6
v1.12.0-dev
v1.11.2
v1.10.5
v1.11.1
v1.10.4
v1.11.0
v1.11.0-rc2
v1.10.3
v1.11.0-rc1
v1.10.2
v1.10.1
v1.10.0
v1.9.6
v1.9.5
v1.10.0-rc2
v1.11.0-dev
v1.10.0-rc1
v1.9.4
v1.9.3
v1.9.2
v1.9.1
v1.9.0
v1.9.0-rc2
v1.10.0-dev
v1.9.0-rc1
v1.8.3
v1.8.2
v1.8.1
v1.8.0
v1.8.0-rc3
v1.7.6
v1.8.0-rc2
v1.7.5
v1.8.0-rc1
v1.9.0-dev
v1.7.4
v1.7.3
v1.7.2
v1.7.1
v1.7.0
v1.7.0-rc3
v1.6.4
v1.7.0-rc2
v1.6.3
v1.7.0-rc1
v1.7.0-dev
v1.6.2
v1.6.1
v1.6.0
v1.6.0-rc2
v1.5.3
v1.6.0-rc1
v1.6.0-dev
v1.5.2
v1.5.1
v1.5.0
v1.5.0-rc2
v1.5.0-rc1
v1.5.0-dev
v1.4.3
v1.4.2
v1.4.1
v1.4.0
v1.4.0-rc3
v1.4.0-rc2
v1.3.3
v1.4.0-rc1
v1.3.2
v1.3.1
v1.3.0
v1.3.0-rc2
v1.3.0-rc1
v1.2.3
v1.2.2
v1.2.1
v1.2.0
v1.2.0-rc3
v1.2.0-rc2
v1.1.4
v1.2.0-rc1
v1.1.3
v1.1.2
v1.1.1
v1.1.0
v1.0.2
v1.0.1
v1.0.0
v0.9.99
Labels
Clear labels
$20
$250
$50
$500
backport/done
💎 Bounty
docs-update-needed
good first issue
hacktoberfest
issue/bounty
issue/confirmed
issue/critical
issue/duplicate
issue/needs-feedback
issue/not-a-bug
issue/regression
issue/stale
issue/workaround
lgtm/need 2
modifies/api
modifies/translation
outdated/backport/v1.18
outdated/theme/markdown
outdated/theme/timetracker
performance/bigrepo
performance/cpu
performance/memory
performance/speed
pr/breaking
proposal/accepted
proposal/rejected
pr/wip
pull-request
reviewed/wontfix
💰 Rewarded
skip-changelog
status/blocked
topic/accessibility
topic/api
topic/authentication
topic/build
topic/code-linting
topic/commit-signing
topic/content-rendering
topic/deployment
topic/distribution
topic/federation
topic/gitea-actions
topic/issues
topic/lfs
topic/mobile
topic/moderation
topic/packages
topic/pr
topic/projects
topic/repo
topic/repo-migration
topic/security
topic/theme
topic/ui
topic/ui-interaction
topic/ux
topic/webhooks
topic/wiki
type/bug
type/deprecation
type/docs
type/enhancement
type/feature
type/miscellaneous
type/proposal
type/question
type/refactoring
type/summary
type/testing
type/upstream
Mirrored from GitHub Pull Request
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/gitea#13579
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @SoulSeekkor on GitHub (Oct 9, 2024).
Description
Previously on 1.22.2 the dashboard for my instance loaded instantly, after upgrading to 1.22.3 when I load/refresh the dashboard the refreshing simply hangs (web page does nothing) for over 8 seconds then the entire dashboard is shown at once. Running Windows/Ubuntu with a MSSQL backend doesn't seem to encounter this problem, only with the MySQL8 backend is it doing this.
Relevant logs:
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table oauth2_application column redirect_uris db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table oauth2_grant column scope db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table oauth2_grant column nonce db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table login_source column cfg db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table notice column description db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table system_setting Column version db default is , struct default is 1
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table email_address Column lower_email db nullable is true, struct nullable is false
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table external_login_user column raw_data db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table external_login_user column avatar_url db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table external_login_user column access_token db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table external_login_user column access_token_secret db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table external_login_user column refresh_token db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table user Column keep_activity_private db default is , struct default is false
2024/10/09 08:45:53 cmd/web.go:194:serveInstalled() [W] Table user Column keep_activity_private db nullable is true, struct nullable is false
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table language_stat Column language db nullable is true, struct nullable is false
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table mirror column lfs_endpoint db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table release column note db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table repository column description db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table repository Column original_service_type db default is 0, struct default is
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table repository column topics db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table repo_unit column config db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table task column payload_content db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table task column message db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table gpg_key column content db type is LONGTEXT(4294967295), struct type is MEDIUMTEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table gpg_key Column content db nullable is true, struct nullable is false
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table gpg_key column emails db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table gpg_key_import column content db type is LONGTEXT(4294967295), struct type is MEDIUMTEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table gpg_key_import Column content db nullable is true, struct nullable is false
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table public_key column content db type is LONGTEXT(4294967295), struct type is MEDIUMTEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table public_key Column content db nullable is true, struct nullable is false
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table project column board_type db type is INT, struct type is INT UNSIGNED
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table project column card_type db type is INT, struct type is INT UNSIGNED
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table project Column card_type db default is 0, struct default is
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table project Column card_type db nullable is false, struct nullable is true
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table project column type db type is INT, struct type is INT UNSIGNED
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table review_state Column commit_sha db nullable is true, struct nullable is false
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table hook_task has column repo_id but struct has not related field
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table webhook Column is_system_webhook db default is 0, struct default is
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table webhook Column is_system_webhook db nullable is false, struct nullable is true
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table webhook column url db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table webhook Column http_method db default is 'POST', struct default is
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table webhook column secret db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table webhook column events db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table webhook column meta db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table webhook column header_authorization_encrypted db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table commit_status column target_url db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table commit_status column description db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table commit_status column context db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table lfs_lock column path db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table protected_branch column whitelist_user_i_ds db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table protected_branch column whitelist_team_i_ds db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table protected_branch column merge_whitelist_user_i_ds db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table protected_branch column merge_whitelist_team_i_ds db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table protected_branch column status_check_contexts db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table protected_branch column approvals_whitelist_user_i_ds db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table protected_branch column approvals_whitelist_team_i_ds db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table protected_branch column protected_file_patterns db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table protected_branch column unprotected_file_patterns db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table comment has column old_assignee_id but struct has not related field
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table label Column archived_unix db default is , struct default is NULL
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table milestone column content db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table pull_request column conflicted_files db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table pull_request column changed_protected_files db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table review column type db type is VARCHAR(255), struct type is INT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table review column content db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table tracked_time Column time db nullable is true, struct nullable is false
2024/10/09 08:45:54 cmd/web.go:194:serveInstalled() [W] Table action column content db type is MEDIUMTEXT(16777215), struct type is TEXT
2024/10/09 08:46:24 ...eb/routing/logger.go:68:func1() [W] router: slow GET / for 10.12.10.6:53490, elapsed 3197.1ms @ web/home.go:32(web.Home)
2024/10/09 08:46:29 ...activities/action.go:459:GetFeeds() [W] [Slow SQL Query] SELECT count(*) FROM
actionWHERE user_id=? AND is_deleted=? [1 false] - 8.310601896s2024/10/09 08:46:29 ...ls/avatars/avatar.go:120:LibravatarURL() [E] LibravatarService.FromEmail(email=github-actions[bot]@users.noreply.github.com): error mail: missing '@' or angle-addr
2024/10/09 08:46:32 ...eful/manager_unix.go:144:handleSignals() [W] PID 448390. Received SIGTERM. Shutting down...
2024/10/09 08:46:32 .../graceful/manager.go:168:doHammerTime() [W] Setting Hammer condition
2024/10/09 08:46:33 .../graceful/manager.go:184:doTerminate() [W] Terminating
2024/10/09 08:46:33 ...eful/manager_unix.go:154:handleSignals() [W] PID: 448390. Background context for manager closed - context canceled - Shutting down...
Gitea Version
1.22.3
Can you reproduce the bug on the Gitea demo site?
No
Log Gist
No response
Screenshots
No response
Git Version
2.46.2
Operating System
Ubuntu 24.04
How are you running Gitea?
This is with the published release binary for 64-bit Linux running in a Ubuntu 24.04 incus (LXC) container.
Database
MySQL 8
@yp05327 commented on GitHub (Oct 10, 2024):
@lunny
@lunny commented on GitHub (Oct 10, 2024):
I will investigate it. How many records in the table action.
@bsofiato commented on GitHub (Oct 10, 2024):
Hey @lunny, I have a somewhat large instance of Gitea running on my machine (at least I think it is large -- its actions table has almost 13 million rows).
I've created an index based on the action's user_id and is_deleted columns and the cost of the queries has dropped from 61923.66 to about 8). The database is Postgres.
I don't know if such an index would have other implications that I'm unaware of. But if you think that adding the index would be a sensible approach, I would gladly submit a PR for it.
@lunny commented on GitHub (Oct 10, 2024):
According to the current index function, I think maybe you are right, we need that index. Please send a PR to fix this.
@lunny commented on GitHub (Oct 10, 2024):
I think the
61923.66 to about 8means ms?@lunny commented on GitHub (Oct 10, 2024):
Looks like we already have the index definition.
cudIndex.AddColumn("created_unix", "user_id", "is_deleted")which will be used in find function, but for counting , theDesc("action.created_unix")will be ignored. @bsofiato Can you post your two SQL's execution time. One is for counting, and the other one is for finding.@bsofiato commented on GitHub (Oct 11, 2024):
Nope, it is more like an arbitrary unit of costs. This article does a great job of explaining the concept.
For sure. The first screen shot shows the cost when using the indexes that are already in place. See that it uses the
IDX_action_user_idindex and it performs a scan filtering it by the is_deleted column.For fetching whe get the results below.
If I apply the command
CREATE INDEX action_user_id_idx ON public."action" (user_id,is_deleted);and rerun the query I get the results below.The results below show the fetching results.
As of what is happening with the
cudIndex.AddColumn("created_unix", "user_id", "is_deleted")index. AFAIK, a composite index can only be used if the criterion spans its leftmost columns. To check if this hypothesis is correct, I've created another index on on which thecreated_unixis placed last. The query cost were similar to the 2nd scenario.Fetching results:
If the
created_unixis not used in any criteria (i.e., only used to order results), I think we could safely reorder the index columns to make it more selective. Otherwise, I think the solution would be to create another index.@lunny commented on GitHub (Oct 11, 2024):
Can you try
select * from action where user_id=? and is_deleted=? order by created_unix desc? This should be the SQL Gitea used in the dashboard.@somera commented on GitHub (Oct 11, 2024):
In my case I see improvements which was made in #31752. In my action table are 3977694 entries. And this
Dauer: 1471.509 ms Ausführen <unnamed>: SELECT count(*) FROM "action" WHERE user_id=$1 AND is_deleted=$2query needs ~1,5 seconds, if the data is cached. First call after reboot need ~8 seconds. But this is ok. My Gitea and PostgreSQL 16 run on an 4 core NUC with 32 GB RAM.
Idea: The count query could by cached and invalidated when there are changes in the action table? this would speedup this. Depends how often something changes in the action table.
I missing only some improvements on the higher pages on pagging. Cause there sorting is consuming too much RAM.
I mean this query
And the optimizes query need less RAM
@somera commented on GitHub (Oct 11, 2024):
How is your Postgres RAM configuration? In my case I saw a lot of tmp-files and I increased some parameters.
This was an improvement.
And this https://explain.depesz.com/ make the explain result more readable.
@bsofiato commented on GitHub (Oct 11, 2024):
For sure. I just added limit to the end of the query (since the dashboard is paged, I assume it is)
The original index yields the results below:
In the other hand, we get the following results when using the (user_id, is_deleted) index. Notice that postgre still uses the same index.
After that, I've added created the (user_id, is_deleted, created_unix) index. Which resulted in:
Lastly, I've tried to create the index as (is_deleted, user_id, created_unix) index. The results was:
Tha last two index are pratically equal in terms of performance (the actual cost of the 4th being marginally lower).
I'll have to check it out. But I'm pretty sure no tuning was made to this particular database since it used mainly for development.
BTW, nice tool :)
@lunny commented on GitHub (Oct 11, 2024):
The index sequence maybe affect the final performance result. I guess index
(user_id, is_deleted, created_unix)maybe different from(created_unix, user_id, is_deleted)which is the index in the current version of Gitea.@bsofiato commented on GitHub (Oct 11, 2024):
Yeap. I think the main culprit is indeed the order of the columns in the index. If you guys are okay with it. I think I can supply a PR for that during the weekend.
@somera commented on GitHub (Oct 11, 2024):
I added this
But I can't see, that this will be used.
SELECT count(*) FROM "action" WHERE user_id=1 AND is_deleted='f' :
and
SELECT
"id"
FROM
"action"
WHERE
user_id=1 AND is_deleted='f'
ORDER BY "action"."created_unix" DESC LIMIT 20 OFFSET 1976620:
@SoulSeekkor commented on GitHub (Oct 11, 2024):
There are 847525 records in the action table.
@bsofiato commented on GitHub (Oct 22, 2024):
@lunny is this still a thing ? It flew completely under my radar :(
@lunny commented on GitHub (Oct 22, 2024):
Yes, I think maybe we need a new index for
user_idandis_deletedwithoutupdated_unix.@lunny commented on GitHub (Oct 24, 2024):
I created #32333 to resolve the problem.
@somera and @SoulSeekkor Do you have any condition to do a test for the problem?
@somera commented on GitHub (Oct 24, 2024):
@lunny I have my 2nd test instance with ~19.000 mirrors. I need then an linux-amd64 executable.
@ckuethe commented on GitHub (Oct 24, 2024):
and I thought I was silly being with 6900 mirrors.
using the docker image...
Version: 1.22.3 Page: 115806ms Template: 181msIf there's a nighty build or docker image I'm happy to try it
@lunny commented on GitHub (Oct 24, 2024):
https://gitea.com/lunny/packages/src/branch/main/gitea-pr-32333-amd64-linux-1.tar.gz
@somera commented on GitHub (Oct 24, 2024):
@lunny thx. I try this later today.
@somera commented on GitHub (Oct 24, 2024):
I started it
The new pr version feels fast.
vs
and
vs
and on higher pages
vs
Speedup ist good.
Sorting is the same.
Works for me!
@somera commented on GitHub (Oct 24, 2024):
My mistake was: I didn't install 1.22.3 for comparison.
@ckuethe commented on GitHub (Oct 24, 2024):
2024/10/24 10:59:24 routers/init.go:141:InitWebInstalled() [F] SQLite3 support is disabled, but it is used for database setting. Please get or build a Gitea release with SQLite3 support.@lunny I just mounted your binary into my docker container
@lunny commented on GitHub (Oct 24, 2024):
Yes, my binary doesn't support SQLite3 because I compile it in macOS.
@somera commented on GitHub (Oct 26, 2024):
Here 1.22.3 results ...
"same" performance like with 1.22.2.
The performance in the https://gitea.com/lunny/packages/src/branch/main/gitea-pr-32333-amd64-linux-1.tar.gz versions is better.
@SoulSeekkor commented on GitHub (Oct 27, 2024):
Manually adding that index seems to have resolved my performance problems, went from around 13+ second loads to less than 1 second on the dashboard.
@ckuethe commented on GitHub (Oct 28, 2024):
Something of an improvement. It took a couple of minutes to add the index, and a couple of minutes (123000ms) to log in, but after that index page loads in 10s instead of 90s.
Subsequent logins take 10s instead of 120s, so yeah... about 12x faster, like @SoulSeekkor sees