git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Slow git pushes: sitting 1 minute in pack-objects

From
Stephen Morton <stephen.c.morton@gmail.com>
Date
Mar 5, 2015, 21:03 UTC
Message-ID
<CAH8BJxH1uVv9J7yLx1D4GRPKfWYqDw8SRFZKGR_yhjcoTCCT2g@mail.gmail.com>

(Apologies, after a day I'm cross-posting from git.users. I think the question is maybe too technical for that group.)

I'm experiencing very slow git pushes. On the order of 1 minute to push a trivial one-line change. When I set GIT_TRACE=1, I see that it seems to be taking a lot of time in the pack-objects phase.

Others are not seeing this with the same repo, but I'm the only one working in a VM.

```
~/ws/git/repo.1/repo > date; git push mortons; date
Wed Mar  4 15:03:11 EST 2015
15:03:11.086758 git.c:349               trace: built-in: git 'push' 'mortons'
15:03:11.126665 run-command.c:341       trace: run_command: 'ssh' '-p'
'7999' 'git@privacy.privacy' 'git-receive-pack
'\''~mortons/repo.git'\'''
15:03:20.383341 run-command.c:341       trace: run_command:
'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin'
'--delta-base-offset' '--progress'
15:03:20.383945 exec_cmd.c:134          trace: exec: 'git'
'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin'
'--delta-base-offset' '--progress'
15:03:20.385168 git.c:349               trace: built-in: git
'pack-objects' '--all-progress-implied' '--revs' '--stdout' '--thin'
'--delta-base-offset' '--progress'
Counting objects: 4, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 20.86 KiB | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To ssh://git@privacy.privacy:7999/~mortons/repo.git
   5fe662f..a137bda  my_branch -> my_branch
Wed Mar  4 15:04:22 EST 2015
```
After it was slow at first, I tried setting these which did not help

repack.writebitmaps=true pack.windowmemory=100m

Details:
git version 2.1.4
OS: CentOS 6.6 64-bit in a VM.
repo size: huge. 6 GB .git directory, around 800 MB working tree.
VM has 8 MB RAM and 8 cores.
CPU: i7, 8 core (4 cores hyperthreaded)
It is an ext4 filesystem on the guest linux drive.
    On the host side, it is a .vmdk file and the virtualization software used is
virtualbox. While the drive is dynamically allocated, after I ran into
this issue,
    I used fallocate to create a 50GB dummy file and then delete it to
ensure that
there was headroom in the drive and that dynamic allocation slowness was not the
issue, and subsequent pushes were still slow.
    I have not experienced any filesystem slowness issues in the
months I've been using this vm.

Any ideas? I'm evaluating a move to git and this is the kind of thing that could derail it. Thanks,

Stephen
Next: Duy Nguyen
Message 1 of 8 in “Slow git pushes: sitting 1 minute in pack-objects”
  1. Stephen MortonMar 5, 2015
  2. Duy NguyenMar 6, 2015
  3. Stephen MortonMar 6, 2015
  4. Jeff KingMar 9, 2015
  5. Stephen MortonMar 10, 2015
  6. Jeff KingMar 16, 2015
  7. Stephen MortonMar 19, 2015
  8. Jeff KingMar 19, 2015

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.