Pregunta

¿Cómo es el rendimiento en la versión actual (4.7) de Accurev ?

  • hora de pagar por 100mb, por gb?
  • hora de confirmar por # de archivos o mb?
  • capacidad de respuesta de la interfaz gráfica de usuario cuando más de 100 transmisiones?

Acabo de tener una demostración de Accurev, y las transmisiones parecen una forma liviana de modelar el flujo de trabajo alrededor del código / proyectos. He escuchado a personas que elogian a Accurev por las transmisiones y se quejan del rendimiento. Accurev parece haber trabajado en el rendimiento, pero me gustaría obtener algunos datos del mundo real para asegurarme de que no se trate de demos-well-run-less-well.

¿Alguien tiene anécdotas de rendimiento de Accurev o (incluso mejor) datos de las pruebas?

¿Fue útil?

Solución

No tengo ningún número, pero puedo decirte dónde hemos notado problemas de rendimiento.

Nuestras compilaciones suelen utilizar archivos de 30-40K del control de origen. En mi espacio de trabajo actualmente hay más de 66K archivos, incluidos los archivos de compilación intermedios y de salida, de más de 15 GB de tamaño. Para que AccuRev funcione de manera receptiva, utilizamos agresivamente los ignorar elementos para que AccuRev ignore cualquier archivo intermedio como * .obj. Además, utilizamos la optimización de marca de tiempo . En general, ejecutar una actualización es rápido, pero los tamaños de los proyectos suelen ser de 5 a 10 personas, por lo que normalmente solo se actualizan un par de docenas de archivos si actualiza diariamente. Incluso si alguien realizó cambios que afectaron muchos archivos, la velocidad no es un problema. Por otro lado, una población completa de todos los archivos 30K + es lenta. No tengo tiempo ya que rara vez hago esto y, en la rara ocasión que lo hago, dirijo la población cuando voy a almorzar o a una reunión. Espero que puedan ser hasta 10 minutos. En general, los archivos fuente se descargan muy rápidamente, pero tenemos algunos archivos binarios grandes, de 10-20 MB, que tardan un par de segundos cada uno.

Si las reglas de exclusión e ignorar elementos no están configuradas correctamente, AccuRev puede tardar un par de minutos en ejecutar una actualización para espacios de trabajo de este tamaño. Cuando escucho que otros desarrolladores se quejan de la velocidad, sé que algo está mal configurado y lo solucionamos.

Hace aproximadamente un año, uno de los proyectos actualizó el impulso con 25K + archivos y también agregó FireFox al repositorio (olvídate del tamaño, pero hizo que el impulso pareciera pequeño). También agregaron ICU, escribieron una gran cantidad de software y modificaron innumerables archivos. En total, recuerdo que había aproximadamente 250K + archivos en una secuencia. Desafortunadamente, decidí que todo su buen código debería promoverse a la raíz para que todos los proyectos pudieran compartir. Esto resultó ser un poco más de lo que AccuRev podría manejar bien. Fue un proceso de varias horas que promovió todos los cambios. Como recuerdo una vez que se promocionó FireFox, el resto fue sin problemas: ¿tal vez el problema fue una sola transacción con más de 100K archivos?

Recientemente actualicé boost y tuve que mantener y promover más de 25K archivos. Tomó uno o dos minutos, pero no es irrazonable teniendo en cuenta la cantidad de archivos y el tamaño de los archivos binarios.

En cuanto a la cantidad de transmisiones, tenemos más de 800 transmisiones y espacios de trabajo. El rendimiento aquí no es un problema. En general, encuentro que es difícil navegar la gran cantidad de transmisiones, por lo que ejecuto una vista filtrada de solo mis espacios de trabajo y las transmisiones que me interesan. Sin embargo, cuando necesito mirar la lista sin filtrar para encontrar algo, el rendimiento está bien. / p>

Como nota final, el soporte de AccuRev es excelente : los llamamos la voz en el cielo. De vez en cuando nos disparamos en el pie usando AccuRev y terminamos sin saber cómo arreglar las cosas. Casi siempre hicimos algo tonto y luego intentamos algo más tonto para arreglarlo. Eventualmente, hacemos una solicitud de soporte y lo siguiente que sabemos es que nos están guiando a través de los pasos hacia la justicia, ya sea por teléfono o en una reunión. Incluso me he puesto en contacto con ellos por cosas triviales que simplemente no tengo tiempo para resolver, ya que estoy teniendo un día agitado y amablemente me guían a través de él en lugar de decirme que haga RTFM.

Otros consejos

Editar 2014: ahora podemos obtener un rendimiento aceptable de X-Windows usando la versión comercial de RealVNC.

Comentario original: esta respuesta se aplica a cualquier versión de Accurev, no solo a 4.7. En primer lugar, el rendimiento de la GUI podría estar bien si puede usar el cliente web. Si no puede usar el cliente web y desea el rendimiento de la GUI, será mejor que use Windows o tenga a todos sus desarrolladores en un solo lugar, es decir, donde se encuentra el servidor Accurev. ¿Intenta ejecutar la GUI en X-Windows sobre una WAN? Olvídalo: nuestra experiencia ha sido decenas de segundos o minutos para operaciones básicas de apuntar y hacer clic. Esto está sobre una WAN bastante buena a unas 800 millas de distancia, con un tiempo de ping casi óptimo. Esto no es una falla de Accurev, sino de X-Windows, y es probable que tenga problemas similares con otras aplicaciones X a través de una WAN. Así que evite la X básica si es posible. Actualmente no podemos, y nuestros usuarios de WAN están relegados a la fuerza solo a la línea de comandos. El problema básico es que Accurev está centralizado y no se puede aumentar la velocidad de la luz. Creo que puede evitar la latencia de la WAN ejecutando Accurev Replication Servers, pero eso aún no resuelve adecuadamente el problema si tiene desarrolladores remotos en oficinas de una sola persona a través de VPN. Es irónico que los servidores de replicación conviertan este VCS centralizado en una forma de DVCS. Si no tiene servidores de replicación, entonces una solución horrible pero algo viable es usar una herramienta de sincronización delta como rsync para sincronizar su árbol de origen entre su máquina local donde puede ejecutar la GUI (es decir, la GUI se ejecuta directamente en su Portátil con Windows o Linux) y la máquina en la que realmente está trabajando (por ejemplo, la máquina UNIX a 1,000 millas de distancia). Otra opción es usar algo como VNC que funciona mejor sobre una WAN que X, conectarse a un escritorio virtual en la ubicación del servidor Accurev, y usar X desde allí. En mi lugar de trabajo, más de un equipo ha recurrido al uso de Mercurial y promocionar a Accurev solo cuando es estrictamente necesario. Como Stephen Nutt señala anteriormente, otro trabajo necesario es utilizar la optimización de sello de tiempo e ignora. También tenemos nuestros administradores de Accurev (sí, requiere que contrates personas para cuidarlos) quejarse cuando necesitamos incluir una gran cantidad de archivos, a pesar del hecho de que forman una parte central de nuestro producto y DEBEN ser incluidos y controlados por la versión. Saca tus propias conclusiones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top