2009-02-02 3 views
7

Abbiamo in programma di installare un repository Subversion in un ambiente in cui la rete è piuttosto lenta. Il precedente VCS utilizzato era VSS, ed è stato un incubo usarlo (non solo per la sua "caratteristica").Svnserve VS mod_dav_svn

Quindi, la mia domanda è la scelta tra Svnserve e il modulo apache. So che il modulo apache sarà più lento a causa del protocollo stateless, ma non ho idea di quanto sia l'aumento del tempo che implica.
C'è qualche punto di riferimento o regole che indicano la differenza media di velocità tra i due server?

risposta

6

Tratto da this resource,

Nella maggior parte dei casi, se il sistema di controllo della versione Le prestazioni di Subversion sono discusse, gli argomenti ruotano attorno ai backend del repository usati (Berkeley DB (bdb) vs. FSFS) e mettono a punto alcuni software server o anche parametri hardware.

Sembra essere meno noto che la scelta della variante server utilizzata - il modulo mod_dav_svn Subversion di Apache o il server svnserve standalone - ha un grande impatto sulle prestazioni di subversion misurate e percepite. solito svnserve è significativamente più veloce di Apache mod_dav_svn

In un sintetico, test di benchmark non rappresentativa ho eseguito usando Subversion 1.4.5, Subversion 1.1.1 e Apache 2.0, le prestazioni di mod_dav_svn è stata del 30% a 400% più lento rispetto svnserve di. Le prestazioni di svnserve erano vicine agli accessi diretti locali al repository usando gli strumenti della riga di comando svn.

La penalità di prestazioni più significativa è stata misurata durante le operazioni di svn log e svn merge contro il server mod_dav_svn - noterete immediatamente peggiori prestazioni del registro svn se ad es. utilizzando il plugin Eclipse Subversion Subclipse.

L'autore fornisce anche a benchmark confrontando i due.

Eseguo snvserv che serve circa 50 repository su Berkely DB backend e non ha avuto lamentele sulle prestazioni. Come nota a margine ci sono solo 10 utenti, però.

In realtà ho trovato svnserve molto facile da installare e da mantenere e non vi penalizza in mancanza di futuro. SSH può essere abilitato per svnserve e la sicurezza basata su path è anche possibile se si è il "" un repository, molti progetti "tipo di ragazzo" di cui parla Steve Robbins :)

2

Dal mio benchmarking non ho trovato praticamente alcuna differenza tra DAV, SVN e FILE quando si eseguono operazioni su un repository attorno al limite di 500 meg. Il vantaggio principale con il modello DAV è la sicurezza più granulare si ottiene, soprattutto se siete una sorta "un pronti contro termine, molti progetti" di ragazzo,

2

Potresti essere interessato a sapere che la versione 1.7 di SVN conterrà un faster HTTP protocol. Il nuovo modulo mod_dav_svn supporterà sia il vecchio sia il nuovo protocollo HTTP.

Vorrei andare con HTTP e aggiornare a SVN 1.7 per correggere la penalizzazione delle prestazioni in seguito. È un po 'più di lavoro, ma ha il vantaggio di poter utilizzare qualsiasi modulo di autenticazione di Apache. Questo è ottimo per evitare di introdurre un'altra password utente. Ad esempio, è possibile integrare con il controller di dominio di Windows.

Problemi correlati