Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

What people don't understand about gitlab is that it's a absolutely monumental resource consumer.

I run one for a community of hobby developers and to keep my stuff out of github for ideological reasons, but it's running on what is, by _FAR_ the most beefy machine I run.

Normally I have machines that are a couple cores, couple gigs of ram, or single purpose machines with under 1G and a dedicated thread on the hypervisor.

Gitlab has a 32G DDR3/8 Physical core CPU machine to itself.

I consumes, at any given time, about 25% of that (before FS caches, which, you're going to want).

I had a friend running this before me on a VPS with 4G of memory and the thing was so annoyingly slow that we blamed the hoster and our users were turning back to bitbucket/github.

Since the upgrade, things are smooth as a babies butt.

Although it's hard to justify the SERIOUS expense of this server, it's certainly fast enough. I worry about larger deployments though.

Btw, you can get a taste for yourself if you like; https://git.drk.sc

Maybe it doesn't scale very well with many users/projects. We've only got a couple hundred projects and around 100 users. (and only a handful of CI runners)



Suggest gitbucket - https://gitbucket.github.io/

blazingly fast (a single war file - just run "java -jar gitbucket.war" to get started) and has a very nice UI. A plugin system enables you to extend the functionality (including CI) ... and a very active dev community.

https://gitbucket.github.io/


For anyone running this, can you comment? For example, one recurring criticism, before GitLab and the community managed to stamp out the expectation that it would be feasible, was that people were trying to self host a GitLab instance on a cheap SBC (e.g., a Raspberry Pi) or the smallest DigitalOcean plan and were surprised when this wasn't doable, while Gogs and Gitea handle this fine.

So to get a general idea of what sort of setup is expected in order to run a gitbucket instance, if you're running one, what are the relevant details?


Many thanks for the link, as Java/.NET dev it is surely a very good option to know about.


I love GitLab for the CI/CD which is absolutely second to none.

But I have to second the resource usage - GitLab runs on beefier machines than our production database cluster. We are throwing everything at it, and performance still sucks. Both in terms of UI responsiveness and CI builders which are around 2-3 as slow as a local docker build.

For example, we have not yet seen a good enough reason to migrate our production database to use NVMe disks. But for GitLab server and CI builders - very much so (for a modest boost in performance).

But then again, I still think I get my money's worth.


what I dont understand is that gitlab raised a very large amount of money - can it not pay a team in parallel to port it to golang or java ? Maybe the gitbucket or gitea teams are up for hire.


I tried gitea a while ago and it seemed very well featured while running much faster than gitlab. Single executable go app so it was also trivial to install.


I used both, and in my experience gitea/gogs starts out much faster than gitlab, but becomes slower and slower as repository sizes increase. At some point it became practically unusable, despite the repository not being particularly large.

On top of that we had constant issues with pull requests causing internal server errors, the merge check failing in mysterious ways, and so on. These issues may have been fixed now. We ended up switching to GitLab, and while it's quite resource intensive, performance seemed much more consistent.


Their docker image also goes up blazing fast compared to gitlab.

Also, they have repo mirroring which as I understand is not available on gitlabs CE edition.


Repository mirroring from several sources has been available in GitLab CE for several versions.


One-time, one-way mirroring has. Continuous push-for-push mirroring is still an EE feature.


> Btw, you can get a taste for yourself if you like; https://git.drk.sc

That's inaccessible over IPv6 along with what I presume to be the community's website (https://darkscience.net). As far as I can tell GitLab itself support IPv6 with ease, although gitlab.com doesn't (https://gitlab.com/gitlab-com/infrastructure/issues/645) due to limitations from Azure.


I believe this is a docker limitation (or, my version of docker limitation) I'll look into it.

Thanks for letting me know.


For lightweight use among friends, I found that gogs works much better for me. Has a tiny subset of features but reliably creates/manages repos.

https://gogs.io/


Sadly gogs for whatever reason doesn’t seem to actually use connection pooling or proper caching. It runs a new SQL query for every load of the "explore" site or a repo, which means I end up getting less requests/sec out of it than with gitlab.


Gogs is great. Gitea is a community fork of gogs if you're looking for more features as well.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: