web-dev-qa-db-fra.com

SVN / TortoiseSVN douloureusement lent

J'exécute des opérations douloureusement lentes avec l'un de nos référentiels/projets SVN.

Par exemple, il faut 5 à 10 minutes pour annuler les modifications dans un petit fichier (10 Ko). Ou environ 40-60 minutes pour découvrir le projet de 100 Mo.

Il y a environ 30 autres projets sur le même serveur, certains beaucoup plus gros que celui-ci, et aucun d'entre eux ne se présente comme celui-ci.

Une chose à noter est que ce projet est un projet Magento . Ce n'est pas très grand en termes d'espace disque, mais j'ai 23k fichiers et 11k dossiers, et j'ai mal lu les préformes SVN quand il y a beaucoup de petits fichiers; Est-ce vrai? Et puis-je faire quelque chose pour accélérer les choses?

62
Dan

La copie de travail de Subversion fonctionne assez mal quand il y a un grand nombre de répertoires, comme dans votre cas. Pour les opérations d'écriture (même uniquement localement) sur la copie de travail, la copie de travail doit être verrouillée, ce qui signifie qu'un fichier de verrouillage est créé dans chaque répertoire (c'est-à-dire que le fichier 11k crée), puis l'action s'exécute et les fichiers 11k sont supprimé à nouveau.

Subversion 1.7 passe à un format de copie de travail différent, ce qui devrait résoudre ces problèmes. Jusque-là, vous pouvez essayer d'accélérer les choses, comme exclure la copie de travail de votre antivirus, désactiver les moniteurs de fichiers dans le répertoire (comme TortoiseSvnCache) et essayer de réduire le nombre total de répertoires. (Peut-être en vérifiant quelques copies de travail distinctes)

57
Sander Rijken

Il y a un problème connu avec l'utilisation de la corbeille avec retour qui provoque un retour lent. Vider votre corbeille et configurer TortoiseSVN pour ne pas l'utiliser pendant les opérations de restauration accélèrent toutes les deux cette opération (voir http://www.nabble.com/Revert-is-too-slow-td18222196.html ) .

Cela a certainement accéléré mes opérations de retour.

20
Tony Harverson

J'ai connu une extrême lenteur avec Subversion sur Windows après avoir changé mon mot de passe. J'ai dû supprimer tous les répertoires et fichiers de %APPDATA%\Subversion\auth.

Maintenant, SVN est rapide comme un lièvre. Ma lenteur s'est produite via TortoiseSVN et la ligne de commande.

10
Dave

SVN est lent si vous utilisez NFS ( Network File System ) pour la copie de travail. Ce pourrait être votre problème.

6
anon

L'inversion des modifications dans SVN est une opération locale qui ne devrait pas du tout aller au serveur. Il semble donc que le problème se trouve dans votre copie de travail du projet.

Essayez d'exécuter "nettoyage svn" dans la copie de travail; vous pouvez également vérifier si vous avez des problèmes avec le disque dur ou le système de fichiers.

1
Avi

Essayez de désactiver temporairement votre logiciel antivirus.

1
myron-semack

Nous avons rencontré un problème similaire, le problème était TortoiseSvn (Version 1.9.7). Par exemple, le repo browser il a fallu environ 10 minutes pour initialiser.

Nous avons tourné le Show Locks fonction et tout est réparé!

Faites un clic droit sur un dossier et sélectionnez Tortoise\Settings puis General\Dialog 3 puis désélectionner Show Locks

De bons conseils peuvent également être trouvés sur http://tigris-scm.10930.n7.nabble.com/Workaround-for-slow-RepositoryBrowser-on-large-repositories-td92324.html

1
Alireza Fattahi

J'ai également subi un ralentissement important après la mise à niveau vers TortoiseSVN 1.7.3.

Ensuite, j'ai découvert que j'avais une installation distincte de SVN 1.6.5. J'ai désinstallé les deux et réinstallé TortoiseSVN et maintenant les choses vont beaucoup mieux. La première mise à jour de la journée dans TortoiseSVN est toujours lente (1-2 minutes), mais rapide après cela.

1
IanRae

Notre SVN fonctionnait très lentement à travers TortoiseSVN, Eclipse et la ligne de commande. Les engagements et les exportations ont été lents. Nos projets Zend Framework PHP prendraient un certain temps à mettre à jour et faire un petit commit d'environ trois fichiers prendrait 5-10 minutes.

Notre machine virtuelle SVN ( CentOS ) n'avait que 700 Mo de RAM ce qui semblait raisonnable pour une CLI Linux exécutant uniquement Subversion via Apache et a fonctionne bien depuis environ un an. Nous avons seulement environ 20 projets et seulement trois développeurs.

Je l'ai augmenté à 1,5 Go de RAM et les choses fonctionnent beaucoup plus vite maintenant, revenons à nos anciennes vitesses.

1
Jujhar Singh

J'ai quelques projets qui utilisent l'IDE Eclipse. Si vous capturez les répertoires du projet Eclipse, vous obtenez des centaines et des centaines de petits fichiers qui ont le même effet pour mon projet que vous souffrez sur le vôtre.

Je pense que lorsque vous extrayez des fichiers, SVN le fait un à la fois, ce qui signifie que les projets avec un grand nombre de fichiers seront toujours lents et que vous ne pouvez pas faire grand-chose (à part éviter les opérations fréquentes sur l'ensemble du référentiel).

Cependant, apporter des modifications à un seul fichier ne devrait pas être lent.

Vous pouvez essayer les suggestions dans n autre article sur Stack Overflow sur le SVN lent . Cela pourrait également être dû à en utilisant une base de données BDB .

0
Jon Cage