Problemas de Performance no Git
Diagnóstico
Métricas Importantes
Ferramentas de Análise
# Trace de performance
GIT_TRACE_PERFORMANCE=1 git status
# EstatÃsticas de objetos
git count-objects -v
# Análise de packfiles
git verify-pack -v .git/objects/pack/*.idx
Otimizações
Configurações
# Melhorar performance local
git config core.preloadindex true
git config core.fsmonitor true
git config core.untrackedCache true
# Otimizar rede
git config core.compression 9
git config pack.windowMemory "100m"
Manutenção
+------------------------+
| MANUTENÇÃO |
| |
| • git gc |
| • git prune |
| • git repack |
| • git fsck |
| • git maintenance |
+------------------------+
Problemas Específicos
Clone Lento
# Clone raso
git clone --depth 1 URL
# Clone especÃfico
git clone --filter=blob:none URL
# Clone parcial
git clone --sparse URL
Push/Pull Lento
Monitoramento
Métricas Chave
Tempo de operação
Uso de recursos
Tamanho do repo
Objetos soltos
Eficiência de pack
Comandos de Monitoramento
# Tamanho do repo
du -sh .git/
# Objetos grandes
git rev-list --objects --all | \
git cat-file --batch-check | \
sort -k3nr | head
# Status de refs
git for-each-ref --sort=-committerdate
Próximos Passos
Tópicos Relacionados
22 abril 2025