Git performance is slow or unresponsive.
Not enough sessions.
- Enable parallel Git status.
- Run the following command:
git config core.preloadIndex true
- Parallel Git will enable more sessions and increase performance. On recent escalations, the performance improved from 24 seconds to 2 seconds.
- The Pure hardware team also internally used this and performance improved dramatically.
- According to https://git.kernel.org/pub/scm/git/g...otes/2.1.0.txt core.preloadIndex is on by default since 2.1.0
- While there is no way in Git to extract the default values, i.e., there is no command to find out what the current setting of this value is unless the customer has set it explicitly in either system/global or local gitconfig.
- To check for it, you can use "git config -l" (dash el) from the repository you're interested in (this will show not only the settings in the local gitconfig but also the inherited settings from global and system). To specifically check the global gitconfig use "git config --list --global" (and similar for local and system).
- If in doubt, suggest setting it explicitly.
- The above command sets it for the local (repository) level, add --global to set it at the user level or --system to set it at the machine level.
- To improve Git performance, please see https://git-scm.com/docs/git-config.
- Enable parallel index preload for operations like git diff.
- This can speed up operations like git diff and git status especially on filesystems like NFS that have weak caching semantics and thus relatively high IO latencies. When enabled, Git will do the index comparison to the filesystem data in parallel, allowing overlapping IO’s. Defaults to true.