Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
git clone, push, pull is very slow in Huge repository
There are currently too many topics in this group that display first. To make this topic appear first, remove this option from another topic.
There was an error processing your request. Please try again.
flag
  8 messages - Collapse all  -  Translate all to Translated (View all originals)
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
hs20.choi@gmail.com  
View profile  
 More options May 23 2012, 12:55 am
From: "hs20.c...@gmail.com" <hs20.c...@gmail.com>
Date: Tue, 22 May 2012 21:55:01 -0700 (PDT)
Local: Wed, May 23 2012 12:55 am
Subject: git clone, push, pull is very slow in Huge repository

Hi all.

When cloning a repository, it takes about 18minutes.
push takes 10 minutes, pull takes 18minutes.

The repository's size was 8G. Now it's under 1G after git gc and
prune.
But the time required has been implemented a little bit.
The time for cloning is 10 minutes. (push : 4minutes, )

I think that's already a big problem.

The gerrit version is 2.1.7
The git repository has 45 branches and many groups for managing
permissions.

THE IMPORTANT THING :
The only users that get the permission to each branch are experiencing
the problem.
ex) the user(having speed problem) : Read Access : refs/heads/gb-dev-
branch
ex) the user(no problem) : Read Access : refs/*
Those have read permissions to all branches are good to work.

Has anybody experienced the same problem ?
Thank you in advance.


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Magnus Bäck  
View profile  
 More options May 23 2012, 9:00 am
From: Magnus Bäck <ba...@google.com>
Date: Wed, 23 May 2012 09:00:52 -0400
Local: Wed, May 23 2012 9:00 am
Subject: Re: git clone, push, pull is very slow in Huge repository
On Wednesday, May 23, 2012 at 00:55 EDT,
     "hs20.c...@gmail.com" <hs20.c...@gmail.com> wrote:

> When cloning a repository, it takes about 18minutes.
> push takes 10 minutes, pull takes 18minutes.

> The repository's size was 8G. Now it's under 1G after git gc and
> prune.
> But the time required has been implemented a little bit.
> The time for cloning is 10 minutes. (push : 4minutes, )

The long fetch time isn't surprising, but I don't understand the
excessive push time.

> I think that's already a big problem.

> The gerrit version is 2.1.7
> The git repository has 45 branches and many groups for managing
> permissions.

> THE IMPORTANT THING :
> The only users that get the permission to each branch are experiencing
> the problem.
> ex) the user(having speed problem) : Read Access : refs/heads/gb-dev-
> branch
> ex) the user(no problem) : Read Access : refs/*
> Those have read permissions to all branches are good to work.

For users having access to all refs, Gerrit can just serve the git
as-is. When a user doesn't have read access to all refs, Gerrit must
repack the git on the fly for each request. For a 1 GB git I'm not
surprised this takes a few minutes.

I assume you have ample RAM and CPU and that the git is stored on a
local drive rather than accessed via NFS or something equally slow.

To get around this type of problem one can set up replication slaves to
which only a subset of the refs are replicated. That way Gerrit won't
have to repack the gits when a client connects. Of course, this means
that users have to choose which server to connect to and it doesn't
scale if the number of read access combinations is too big.

--
Magnus Bäck
ba...@google.com


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Eric Anderson  
View profile  
 More options May 23 2012, 10:48 am
From: Eric Anderson <e...@ericlanderson.com>
Date: Wed, 23 May 2012 07:48:31 -0700
Local: Wed, May 23 2012 10:48 am
Subject: Re: git clone, push, pull is very slow in Huge repository
Yeah. We just hit this. We had read on refs/heads/* instead of refs/*

I suggest you make a different repo for those branches that are special and keep them in sync some how

--Eric Anderson

Sent from a mobile device

On May 23, 2012, at 6:00, Magnus Bäck <ba...@google.com> wrote:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Shawn Pearce  
View profile  
 More options May 23 2012, 12:17 pm
From: Shawn Pearce <s...@google.com>
Date: Wed, 23 May 2012 09:17:12 -0700
Local: Wed, May 23 2012 12:17 pm
Subject: Re: git clone, push, pull is very slow in Huge repository
On Tue, May 22, 2012 at 9:55 PM, hs20.c...@gmail.com

Try upgrading Gerrit to the latest release. We have had a lot of
performance improvements for per-branch permissions in the 2.2 series
that is not in the 2.1.7 release.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Shawn Pearce  
View profile  
 More options May 23 2012, 12:19 pm
From: Shawn Pearce <s...@google.com>
Date: Wed, 23 May 2012 09:19:01 -0700
Local: Wed, May 23 2012 12:19 pm
Subject: Re: git clone, push, pull is very slow in Huge repository

On Wed, May 23, 2012 at 6:00 AM, Magnus Bäck <ba...@google.com> wrote:
> On Wednesday, May 23, 2012 at 00:55 EDT,
>     "hs20.c...@gmail.com" <hs20.c...@gmail.com> wrote:

>> When cloning a repository, it takes about 18minutes.
>> push takes 10 minutes, pull takes 18minutes.

>> The repository's size was 8G. Now it's under 1G after git gc and
>> prune.
>> But the time required has been implemented a little bit.
>> The time for cloning is 10 minutes. (push : 4minutes, )

> The long fetch time isn't surprising, but I don't understand the
> excessive push time.

Its actually the same problem, Gerrit is trying to figure out what
refs are available for the user, and trying to confirm the user hasn't
done something evil during the push by trying to get access to an
object they aren't supposed to have access to. This extra security
checking takes more time.

> For users having access to all refs, Gerrit can just serve the git
> as-is. When a user doesn't have read access to all refs, Gerrit must
> repack the git on the fly for each request. For a 1 GB git I'm not
> surprised this takes a few minutes.

This isn't true. Gerrit always repacks a repo to serve a client. What
is expensive is filtering the set of branches the user can see, to
make sure they are only shown branches they have read access for.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Magnus Bäck  
View profile  
 More options May 24 2012, 9:58 am
From: Magnus Bäck <ba...@google.com>
Date: Thu, 24 May 2012 09:58:04 -0400
Local: Thurs, May 24 2012 9:58 am
Subject: Re: git clone, push, pull is very slow in Huge repository
On Wednesday, May 23, 2012 at 12:19 EDT,
     Shawn Pearce <s...@google.com> wrote:

> On Wed, May 23, 2012 at 6:00 AM, Magnus Bäck <ba...@google.com> wrote:

[...]

> > For users having access to all refs, Gerrit can just serve the git
> > as-is. When a user doesn't have read access to all refs, Gerrit must
> > repack the git on the fly for each request. For a 1 GB git I'm not
> > surprised this takes a few minutes.

> This isn't true. Gerrit always repacks a repo to serve a client. What
> is expensive is filtering the set of branches the user can see, to
> make sure they are only shown branches they have read access for.

Oh, so a repack always takes place but for a recently repacked git the
operation is fairly quick (but non-zero) since not that much needs to be
expunged and not many deltas need to be recalculated?

--
Magnus Bäck
ba...@google.com


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
Shawn Pearce  
View profile   Translate to Translated (View Original)
 More options May 24 2012, 9:59 am
From: Shawn Pearce <s...@google.com>
Date: Thu, 24 May 2012 06:59:52 -0700
Local: Thurs, May 24 2012 9:59 am
Subject: Re: git clone, push, pull is very slow in Huge repository

Yes.

 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
hschoi  
View profile  
 More options May 24 2012, 11:01 pm
From: hschoi <hs20.c...@gmail.com>
Date: Thu, 24 May 2012 20:01:39 -0700 (PDT)
Local: Thurs, May 24 2012 11:01 pm
Subject: Re: git clone, push, pull is very slow in Huge repository

Thanks a lot.
I'll make another repository to split a branch.

And then I have a plan to upgrade gerrit to 2.3 series next month.

I'm looking forward to be implemented.

2012년 5월 24일 목요일 오후 10시 59분 52초 UTC+9, Shawn Pearce 님의 말:


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
End of messages
« Back to Discussions « Newer topic     Older topic »