2011-09-18 17 views
5

Voy a utilizar ActiveMQ por primera vez en uno de mis proyectos (temas para mensajes duraderos). He leído que los mensajes duraderos imponen un límite a la escala de mensajes por segundo. ¿Cuáles son los otros factores de los que debería tener conocimiento (por ejemplo, los consumidores lentos) que limitan las características de escala y rendimiento de activemq y qué medidas deben controlarse de cerca y cuáles son los valores en los que se pierden todos los infiernos?activemq computos y precauciones de rendimiento

No espero estar presionando más de mil eventos por segundo en ActiveMQ por ahora.

Respuesta

7

aquí hay algunos consejos ...

  • aumentar sus límites systemUsage de los valores predeterminados
  • aumentar el tamaño de almacenamiento dinámico de JVM de los valores predeterminados
  • si se utiliza KahaDB, considere configurar enableJournalDiskSyncs en false (ayuda rendimiento dramáticamente) o preferiblemente utilice el nuevo LevelDB
  • conozca producer flow control y considere desactivar (con frecuencia)
  • co nsiderar usando virtual topics (en lugar de los consumidores tema duraderos)
  • aprender sobre prefetch-limit y ajustar según sea necesario
2

dos cuestiones específicas que topó con activemq:

1) Hay límites de memoria forzadas por cola que necesitan ser sintonizado. ActiveMQ no rellenará su pila a menos que cambie la configuración. Por lo tanto, debe establecer -Xmx y cambiar la configuración para usar más memoria.

2) Relacionado con el n. ° 1, por defecto el sender (cliente) bloquea cuando se alcanzan los límites. En versiones más nuevas, hay una configuración para evitar esto y tener una excepción lanzada en su lugar. Ver http://activemq.apache.org/producer-flow-control.html.

Cuestiones relacionadas