Re: [Question] clone performance
- From
Jeff King <peff@peff.net>
- Date
- Aug 26, 2019, 18:21 UTC
- Message-ID
- <20190826182134.GA23399@sigill.intra.peff.net>
- In-Reply-To
- <006001d55c18$e6def6c0$b49ce440$@rogers.com>
On Mon, Aug 26, 2019 at 10:16:48AM -0400, randall.s.becker@rogers.com wrote:
Show 23 quoted lines
> On August 24, 2019 5:00 PM, Bryan Turner wrote: > > On Fri, Aug 23, 2019 at 6:59 PM <randall.s.becker@rogers.com> wrote: > > > > > > Hi All, > > > > > > I'm trying to answer a question for a customer on clone performance. > > > They are doing at least 2-3 clones a day, of repositories with about > > > 2500 files and 10Gb of content. This is stressing the file system. > > > > Can you go into a bit more detail about what "stress" means? Using too > > much disk space? Too many IOPS reading/packing? Since you specifically > > called out the filesystem, does that mean the CPU/memory usage is > > acceptable? > > The upstream is BitBucket, which does a gc frequently. I'm not sure > any of this is relating to the pack structure. Git is spending most of > its time writing the large number of large files into the working > directory - it is stress mostly the disk, with a bit on the CPU > (neither is acceptable to the customer). I am really unsure there is > any way to make things better. The core issue is that the customer > insists on doing a clone for every feature branch instead of using > pull/checkout. I have been unable to change their mind - to this point > anyway.
Yeah, at the point of checkout there's basically no impact from anything the server is doing or has done (technically it could make things worse for you by returning a pack with absurdly long delta chains or something, but that would be CPU and not disk stress).
I doubt there's much to optimize in Git here. It's literally just writing files to disk as quickly as it can, and it sounds like disk performance is your bottleneck.
-Peff