Skip to content
Snippets Groups Projects

Performance with git

Closed Marc Radulescu requested to merge performance_with_git into master

first draft for performance with git blog post

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Please split up in one line per sentence, I can't comment like this.

  • Marc Radulescu Added 1 new commit:

    Added 1 new commit:

    • 327e806b - split into one sentence per line
  • Marc Radulescu Added 1 new commit:

    Added 1 new commit:

    • 6ba55948 - changed title for consistency
  • Marc Radulescu Added 1 new commit:

    Added 1 new commit:

    • 762ffa71 - included feedback form merge request
  • Updated, but don't know why the outdated diff...

  • @JobV What do you think?

  • This is a nice article! Definitely something I'd send to our customers when talking about this.

  • Thanks for the ping @sytses

  • @JobV Thanks for commenting. @Marc.Radulescu will you handle the comments?

  • @sytses yes, I will.

  • Marc Radulescu Added 1 new commit:

    Added 1 new commit:

    • 8ed1c2b6 - revised according to Sytse and Job's suggestions
  • updated, @JobV I have removed line 26 with a tweaked version of your suggestion, I am assuming that "make it easier to work between local clones" refers to all the additional functionalities we offer in GitLab.

    (as explained on line 27)

  • Yes. In doubt about meaning, assume your readers will doubt even more about that ;-)

  • Marc Radulescu Added 1 new commit:

    Added 1 new commit:

  • @JobV thanks, updated

  • Sid Sijbrandij Added 1 new commit:

    Added 1 new commit:

    • 2e061bef - Better explain what WANdisco does.
  • Sid Sijbrandij Added 1 new commit:

    Added 1 new commit:

    • 6a735e75 - Note that we do support HA.
  • :thumbsup: on the additions @sytse

  • @Marc.Radulescu Thanks! Now waiting for the review of WANdisco.

  • Sid Sijbrandij Added 1 new commit:

    Added 1 new commit:

    • 341a6b8f - Add note about ALM tools being offline, thanks Randy.
  • 18 **Server downtime is not as disruptive to the workflow as with a centralized tool.**
    19 Obviously the downtime does affect code reviews, continuous integration, and deployments.
    20
    21 After the first cloning of the origin repo, Git only registers the changes to the files, so the deltas between the origin and the clones are very small.
    22 That's less information that needs to travel through the wire.
    23 **Getting the clone in sync with the origin does not take a lot of extra time if you are geographically further away.**
    24
    25 Code searching is also considerably faster with git than with a centralized tool, because the search happens on the local clone of the repo.
    26
    27 The functionalities of GitLab (such as the issue tracker, the merge requests, user management) are designed to only reside on one server.
    28 While replicating the GitLab database server might seem appealing at first sight, we strongly encourage that companies keep only one active GitLab database server at a time.
    29 Multiple active database servers in multiple geographic regions will need to coordinate on many requests, for example to ensure that no duplicate usernames are created and that issue numbers are incremental.
    30 This coordination slows down the process more than multiple geographic regions will speed it up.
    31
    32 Having a single active database server doesn't mean that you can't scale your GitLab installation.
    33 GitLab allows multiple active application servers and [highly available cluters in multiple datacenters](https://about.gitlab.com/high-availability/).
  • 22 That's less information that needs to travel through the wire.
    23 **Getting the clone in sync with the origin does not take a lot of extra time if you are geographically further away.**
    24
    25 Code searching is also considerably faster with git than with a centralized tool, because the search happens on the local clone of the repo.
    26
    27 The functionalities of GitLab (such as the issue tracker, the merge requests, user management) are designed to only reside on one server.
    28 While replicating the GitLab database server might seem appealing at first sight, we strongly encourage that companies keep only one active GitLab database server at a time.
    29 Multiple active database servers in multiple geographic regions will need to coordinate on many requests, for example to ensure that no duplicate usernames are created and that issue numbers are incremental.
    30 This coordination slows down the process more than multiple geographic regions will speed it up.
    31
    32 Having a single active database server doesn't mean that you can't scale your GitLab installation.
    33 GitLab allows multiple active application servers and [highly available cluters in multiple datacenters](https://about.gitlab.com/high-availability/).
    34
    35 We also recommend keeping all developers in the company on one GitLab server, instead of splitting it into several smaller servers for different groups/departments.
    36 The rationale for this is that internal collaboration becomes easier when more of the users are on the same server.
    37 If you are concerned with managing the codebase and fine-grained authorizations, you can consider either [protected branches](http://doc.gitlab.com/ce/permissions/permissions.html) or using [forking](http://blogs.atlassian.com/2013/05/git-branching-and-forking-in-the-enterprise-why-fork/)
  • 10
    11 - distributed workflows
    12 - speed
    13 - data integrity
    14
    15 In Git, The main repository (origin) lies on the server, and developer machines have local copies.
    16 Developers commit to their local machines, and they only need to connect to the server when pushing their work back to the main repo.
    17 This means that even in the case of server downtime, development can still continue on the developers' local clones.
    18 **Server downtime is not as disruptive to the workflow as with a centralized tool.**
    19 Obviously the downtime does affect code reviews, continuous integration, and deployments.
    20
    21 After the first cloning of the origin repo, Git only registers the changes to the files, so the deltas between the origin and the clones are very small.
    22 That's less information that needs to travel through the wire.
    23 **Getting the clone in sync with the origin does not take a lot of extra time if you are geographically further away.**
    24
    25 Code searching is also considerably faster with git than with a centralized tool, because the search happens on the local clone of the repo.
    • Code searching => Code searching in a project.

      I believe the common understanding of "code searching" is that one can search for code across the organization, and that does not happen on local machines.

  • We should remove the WANdisco reference and publish this around GitLab RE https://gitlab.com/gitlab-org/gitlab-ee/issues/76 /cc @nearlythere

  • Sid Sijbrandij Status changed to closed

    Status changed to closed

  • Please register or sign in to reply
    Loading