-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Poor scalability for huge "flat" repositories #684
Comments
Thanks your feedback! But I think it's too early to make Gogs perfectly handle huge repos, it involves cache technics which Gogs hasn't had right now but in the plan. If you any ideas on it, please post as reply, then we can have some discussions. |
Seems like GitLab has the same issue, nothing special there: I also wanted to check Atlassian Stash source, but they only provide it to paid customers. How to solve the problem:
|
Answer this a thousands times... I guess should put in FAQs, Go wrapper isn't as good as it looks, and it uses CGO which we are not comfortable with. |
Please follow on #1505 |
Turns out, gogs issues a bunch of subprocess calls like
git log -1 --pretty=format:%H 713f036503b783df70c81e7174387af214ddcbd1 -- subdir-703
for each (top-level) directory item, which means at least 10k subprocess invocations per request. Good thing, it does not bring your system down with a fork bomb, nor it DoSes the whole gogs instance.The following script may be used to create a model repository:
On my laptop, it was enough to experience unacceptable request processing time:
The text was updated successfully, but these errors were encountered: