2009-10-26 13 views
5

Come sono le prestazioni nella versione corrente (4.7) di Accurev?Come è la prestazione di Accurev?

  • tempo di pagamento per 100 MB, per GB?
  • tempo di commit per # di file o mb?
  • reattività di gui quando 100+ flussi?

Ho appena avuto una demo di Accurev e gli stream sembrano un modo leggero per modellare il flusso di lavoro attorno a codice/progetti. Ho sentito persone lodare Accurev per i flussi di ritorno e lamentarsi delle prestazioni. Sembra che Accurev abbia lavorato alla performance, ma mi piacerebbe avere alcuni dati del mondo reale per assicurarmi che non si tratti di dimostrazioni-ben-run-less-well-well.

Qualcuno ha aneddoti sulle prestazioni di Accurev o (ancora migliori) dati dai test?

+0

Risposta aneddotica: lenta. Non usare a meno che non sia necessario. La GUI è quasi inutilizzabile. Questo è solo aneddotico, non ho alcun numero imperativo per eseguire il backup di ciò che sto dicendo. – Martin

+0

Ho appena migrato un progetto Perforce sull'ultimo Accurev 6.2.3? E molte delle storie dell'orrore che avevo sentito devono ancora manifestarsi in qualsiasi modo che potrei dire, MA la GUI è incredibilmente lenta e non lo faccio ti consiglio di fare qualsiasi mossa mentre sei offline. Mi piace il fatto che non debba controllare le cose, ma c'è un costo per le prestazioni. Il problema più grande è qualsiasi operazione nella GUI incluso il clic su un file richiede molto tempo rispetto a P4. Suggerisco di imparare la CLI. – Novaterata

risposta

8

Non ho numeri, ma posso dirvi dove abbiamo notato problemi di prestazioni.

Le nostre build utilizzano in genere file 30-40K dal controllo del codice sorgente. Nel mio spazio di lavoro attualmente ci sono oltre 66K file tra cui creare file intermedi e di output, oltre 15 GB di dimensioni. Per mantenere AccuRev in modo reattivo, utilizzare in modo aggressivo gli elementi di ignorazione così AccuRev ignora tutti i file intermedi come * .obj. Inoltre, utilizziamo l'ottimizzazione del timestamp . In generale, l'esecuzione di un aggiornamento è rapida, ma le dimensioni del progetto sono in genere di 5-10 persone, quindi normalmente vengono scartati solo un paio di dozzine di file se si aggiorna quotidianamente. Anche se qualcuno ha apportato modifiche che hanno toccato molti file, la velocità non è un problema. D'altra parte un popolamento completo di tutti i file 30K + è lento. Non ho tempo da quando faccio raramente questo e, nella rara occasione che faccio, gestisco il popolo quando vado a pranzo o incontro. Mi aspetto che possa arrivare anche a 10 minuti. In generale i file di origine si bloccano molto rapidamente, ma abbiamo alcuni file binari di grandi dimensioni, 10-20 MB, che richiedono un paio di secondi ciascuno.

Se le regole di esclusione e gli elementi di ignora non sono configurati correttamente, AccuRev può impiegare un paio di minuti per eseguire un aggiornamento per aree di lavoro di queste dimensioni. Quando ho sentito parlare di altri sviluppatori che si lamentano della velocità, so che qualcosa è configurato male e lo facciamo raddrizzare.

Un anno fa uno dei progetti spinta aggiornato con 25K + file ed anche ha aggiunto FireFox al repository (dimenticare la dimensione, ma fatta spinta sembrare piccolo.) Hanno anche aggiunto terapia intensiva, ha scritto un sacco di software e modificati innumerevoli file . In tutto quello che ricordo c'erano circa 250K + file seduti in un flusso. Sfortunatamente ho deciso che tutti i loro buoni codici dovrebbero essere promossi alla radice in modo che tutti i progetti possano condividere. Questo si è rivelato un po 'al di là di quanto AccuRev potesse gestire bene. È stato un processo di più ore ottenere tutte le modifiche promosse. Come ricordo una volta promossa a FireFox, il resto è andato liscio: forse una singola transazione con oltre 100K file era il problema?

Ho aggiornato recentemente l'aumento e così ho dovuto mantenere e promuovere i file 25K +. Ci sono voluti un minuto o due ma non irragionevole considerando il numero di file e la dimensione dei binari.

Per quanto riguarda il numero di flussi, abbiamo oltre 800 flussi e aree di lavoro. Le prestazioni qui non sono un problema. In generale, trovo che il gran numero di stream sia difficile da navigare, quindi eseguo una visualizzazione filtrata solo dei miei spazi di lavoro e dei flussi giusti a cui sono interessato. Tuttavia, quando ho bisogno di guardare l'elenco non filtrato per trovare qualcosa, le prestazioni vanno bene.

Come nota finale, il supporto di AccuRev è terrificante - li chiamiamo la voce nel cielo. Ogni tanto ci spariamo ai piedi con AccuRev e non sappiamo come sistemare le cose. Quasi sempre abbiamo fatto qualcosa di stupido e poi abbiamo provato qualcosa di più stupido per sistemarlo. Alla fine poniamo una richiesta di supporto e la prossima cosa sappiamo che ci stanno guidando attraverso i passaggi verso la giustizia sia al telefono che in una riunione goto. Li ho anche contattati per cose banali che non ho il tempo di capire come sto avendo una giornata frenetica e gentilmente mi camminano attraverso di esso piuttosto che dirmi a RTFM.

+0

Un po 'fuori tema, ma è possibile escludere specifici file e cartelle direttamente nell'interfaccia utente ora, in modo che AccuRev ignori questi file (come obj etc)? L'ultima volta che ho usato AccuRev (metà 2008), ho dovuto impostare una variabile di ambiente globale in cui ho elencato tutti i file che volevo che AccuRev ignorasse, il che era un problema. – Nitramk

+0

Stiamo usando 4.7 e con questo è ancora necessario impostare una variabile di ambiente. È disponibile una versione più recente che dobbiamo ancora aggiornare, quindi potrebbe essere cambiata, ma non sospetto. –

+0

È possibile utilizzare i file .acignore per directory, almeno in questo modo viaggiano con il codice, ma risucchiano non essere ricorsivi. –

0

Modifica 2014: ora è possibile ottenere prestazioni X-Windows accettabili utilizzando la versione commerciale di RealVNC.

Commento originale: Questa risposta si applica a qualsiasi versione di Accurev, non solo 4.7. In primo luogo, le prestazioni della GUI potrebbero andare bene se puoi usare il client web. Se non è possibile utilizzare il client Web e se si desidera ottenere prestazioni dell'interfaccia grafica, è consigliabile utilizzare Windows oppure disporre di tutti gli sviluppatori in un'unica posizione, ad esempio dove si trova il server Accurev. Prova a eseguire la GUI su X-Windows su una WAN? Dimenticalo: la nostra esperienza è stata decine di secondi o minuti per operazioni di punta e di clic di base. Si tratta di una WAN abbastanza buona a circa 800 miglia di distanza, con un tempo di ping quasi ottimale. Questo non è un difetto di Accurev, ma di X-Windows, e probabilmente avrete problemi simili con altre applicazioni X su una WAN. Quindi evita la X di base se puoi. Al momento non possiamo, e i nostri utenti WAN sono relegati con la forza solo alla linea di comando. Il problema di base è che Accurev è centralizzato e non è possibile aumentare la velocità della luce. Credo che si possa aggirare la latenza WAN eseguendo Accurev Replication Servers, ma che ancora non risolve il problema in modo corretto se si hanno sviluppatori remoti in uffici di una sola persona tramite VPN. È ironico che i server di replica trasformino in qualche modo questo VCS centralizzato in una forma di DVCS. Se non si dispone di server di replica, una soluzione orribile ma alquanto funzionale consiste nell'utilizzare uno strumento di sincronizzazione delta come rsync per sincronizzare l'albero di origine tra il computer locale in cui è possibile eseguire la GUI (ovvero la GUI in esecuzione direttamente sul proprio Laptop Windows o Linux) e la macchina su cui si sta effettivamente lavorando (ad esempio macchina UNIX a 1.000 miglia di distanza). Un'altra opzione è quella di utilizzare qualcosa come VNC che funziona meglio su una WAN di X, collegandosi a un desktop virtuale nella posizione del server Accurev e usando X da lì. Sul mio posto di lavoro più di una squadra ha fatto ricorso a Mercurial e promuovendo Accurev solo quando strettamente necessario. Come sottolineato da Stephen Nutt sopra, altro lavoro necessario è quello di utilizzare l'ottimizzazione del time stamp e ignorare. Abbiamo anche i nostri amministratori Accurev (sì, richiede l'assunzione di persone per farli da baby-sitter) che si lamentano quando abbiamo bisogno di includere un numero elevato di file, nonostante costituiscano una parte fondamentale del nostro prodotto e DEVONO essere inclusi e controllati dalla versione. Traccia le tue conclusioni.