svn update Prestazioni del protocollo di Subversion




svn update (4)

Un checkout / aggiornamento su svn: // è approssimativamente 4-12 volte più veloce rispetto a http (s): //. Il fattore dipende dal numero di file / cartelle e dalla dimensione del file. Apache è molto più lento su molti piccoli file perché ogni file è un ciclo completo di richiesta-risposta http. In Tortoise puoi vedere facilmente la velocità:

Eseguire il checkout di un grande progetto java Se si trasferisce un file .jar enorme, il trasferimento sta aumentando, quando si ottengono i file java di origine e si crea la struttura del pacchetto, questo verrà eliminato.

Altrettanto importante è che svn checkout è più lento sul client rispetto a svn export e anche eclipse (java) è molto più lento di tortoise / CMD.

Sto appena iniziando / familar con Subversion e mi chiedevo quale protocollo fornisca il miglior file performance: // o svn: //, quando si accede ad un repository Subversion sulla rete? Se non usiamo il protocollo svn: //, mancheremo di tutte le funzionalità che non possiamo mitgate usando il protocollo file: //? Siamo tutti sullo stesso dominio NT e pianifichiamo di usare Windows Auth e usare la sicurezza NTFS / UNC.

TIA!


Sono d'accordo con gli altri che svn: // è molto più veloce di http: //. Detto questo, io uso http: // sui miei repository perché mi piace il file di controllo degli accessi di mod_authz_svn e non ho ancora eseguito l'aggiornamento a 1.5.

Poiché il mio repository principale è enorme, manteniamo lo svn: // in esecuzione come sola lettura. Quello che suggerisco agli utenti è di effettuare il checkout iniziale come svn: //, quindi utilizzare svn relocate per trasformarlo in http: // url in commit. Aggiornamenti su svn: // eseguiti in un tempo accettabile per noi.


Come afferma Paul de Vrieze, il protocollo utilizzato da SVN non ha alcun impatto sulle prestazioni tanto quanto altri fattori. Se ti trovi su una piccola rete locale, il protocollo SVN potrebbe essere soddisfacente per te. In tutti gli altri casi sembra preferibile utilizzare HTTP: // con Apache. Sono stato su LAN in cui le prestazioni di SVN: // sono peggiori delle connessioni HTTPS: // a Internet.

Scoprirai che Apache è probabilmente anche una soluzione più gestibile in termini di sicurezza o visualizzazione del repository SVN.


Il libro SVN consiglia di non utilizzare il protocollo file: // per più utenti

Scelta di una configurazione del server :

Non lasciarti sedurre dalla semplice idea di avere tutti gli utenti che accedono a un repository direttamente tramite file: // URL. Anche se il repository è facilmente disponibile per tutti tramite una condivisione di rete, questa è una cattiva idea. Rimuove qualsiasi livello di protezione tra gli utenti e il repository: gli utenti possono danneggiare accidentalmente (o intenzionalmente) il database del repository, diventa difficile portare il repository offline per ispezione o aggiornamento, e può portare a problemi di autorizzazione dei file ( vedere la sezione chiamata "Supporto di più metodi di accesso al repository"). Nota che questo è anche uno dei motivi per cui mettiamo in guardia dall'accesso ai repository tramite svn + ssh: // URL: da un punto di vista della sicurezza, è in effetti lo stesso degli utenti locali che accedono tramite file: //, e può comportare tutti gli stessi problemi se l'amministratore non sta attento







svn