top button
Flag Notify
    Connect to us
      Facebook Login
      Site Registration Why to Join

Facebook Login
Site Registration
Print Preview

Git on nfs is outrageously slow

+1 vote
85 views

It is so slow that i started hating git (for wrong reasons)i'm sure there is a way out, please help me to make my git faster.

posted Jul 31, 2013 by Jagan Mishra

Share this question
Facebook Share Button Twitter Share Button Google+ Share Button LinkedIn Share Button Multiple Social Share Button

1 Answer

+1 vote

You can make a local clone of your git repository and use the nfs git repository to push your changes to. This way you get to work with git with normal speed and only when pushing, there is a speed penalty. Otherwise, you could try to configure nfs so that it caches access to the file. Note that AFAIK nfs might cause problems when you access the same file simultaneously with several users because it does not support locking a file.

answer Jul 31, 2013 by Mandeep Sehgal
Similar Questions
0 votes

I'm facing some trouble setting up a 13.04 server (amd64) which I want to use Ethernet bonding and NFS mounted volumes.

I've read the ubuntu tutorial about Ethernet bonding but seems the machine try to mount NFS volumes BEFORE the network comes up , the result is the volumes are not mounted at boot up.

Please help.

0 votes

I recently migrated approximately 100 rhel 6 machines from NFS3 to NFS4 (server is rhel 6.6, clients are a mix from 6.3 to 6.6). Things went pretty smooth until several hours into the new configuration, then things started
running very slowly. Restarting the nfs server process clears the issue which seems to indicate the server is the problem.

The file system itself can do some very high io throughput, on the order of 1GB/sec sustained and the "th" values in /proc/net/rpc/nfsd never increase which indicates i/o's are completing on time with no thread starvation. The server itself is set for 384 threads. During the previous NFS3 config the thread count was much higher and had no problems.

I suspect file locking as the primary application in use ( an in house app) uses a lot of little startup scripts which call other scripts to set up the environment etc. Under normal circumstances this startup takes about 6 seconds. Over time that duration increases up to 30 and even 70 seconds in some cases.

I've scoured every reference to nfs4 performance degradation I could find but nothing seems to call out what we are experiencing. A few retrans exist in nfsstat but nothing that stands out. Generally, everything "look" OK but
clearly is not.

Oh, and this is all being run over 10G Ethernet. If memory serves, I believe the kernel is 2.6.2-504.8.1 on the server.

Any ideas about what else to check would be greatly appreciated.

0 votes

I am using Git bash from version 1.8.3.msysgit.0, on a Windows 7x64 PC. I have an issue with executing git push if I have a post-receive script configured.
The content of the script is not really important, as if I have a script that contains only commented out lines (around 70 lines), my git push command is delayed with around 5 seconds.
I`ve tested the script on another PC and it is working fine. No delay at all. So there are some issues on my PC regarding how git processes remote scripts.
I took a wireshark trace with 2 scenarios on my PC:

 1. just execute `cat     
    post-receive` command in the git bash
 2. did a `real` git push

Results of the wireshark traces shows:

 1. Read AndX Request, FID: 0x228f, 1024 bytes at offset 0 (1024 bytes at time, always)
 2. Read AndX Request, FID: 0x21c9, 1 byte at offset 0 (1 byte, always)

Conclusion:
git push command reads the post-receive script in 1 byte chunks, which dramatically slows down the execution process.

If more information is required about my setup or configuration, I will provided it happily, but I think this 1 byte read is the main reason for the issue.

Has anyone seen something similar? Or have any clues what is going on?

0 votes

I have an issue with git clone in one of the build server , Receiving Objects : it shows in 300~500 Kib/s due to this clone time is more it will take more than 10 minute complete 100 MB git source .

Whereas in all the other build servers its working fine its faster it’s in MB line-height:115%;font-family: "Maiandra GD","sans-serif"">Git version 1.8.1.2 line-height:115%;font-family: "Maiandra GD","sans-serif"">

How to resolve this git clone tissue .

0 votes

I work on some files and push/merge them to the remote server. Sometimes I get merge conflicts on those files and have to fix them. That's completely fine. I get that.

What I don't understand is that sometimes during this process I will get merge conflicts in files _I have never touched_. In fact they are in a completely different series of directories to the one I am working on and someone else project entirely. How am I meant to know how to fix these? I dont know what the other developer wanted to do and if they have done it right.

I thought git only merged/pushed the files you have changed? If someone else has changed Group A files on the remote repo, why must I change my local Group A files when I am _pushing _completely different set of Group B files?

Sure, Id understand if I were pulling files down to my local and had to resolve merge conflicts then, but this isn't happening when I push the files up.

Any help or advice is much appreciated. Sorry if I sound frustrated - I am really trying hard to get my head round this whole git thing but its just so weird.


Useful Links with Similar Problem
Contact Us
+91 9880187415
sales@queryhome.net
support@queryhome.net
#470/147, 3rd Floor, 5th Main,
HSR Layout Sector 7,
Bangalore - 560102,
Karnataka INDIA.
QUERY HOME
...