首先,正如@Bedla所指出的那样,将你的连接汇集起来(即将你的连接工厂包装在一个 org.apache.activemq.pool.PooledConnectionFactory )!它很可能会在x10到x100的范围内提供吞吐量提升,具体取决于网络条件,消息大小等。更多信息用于较小的消息。
org.apache.activemq.pool.PooledConnectionFactory
然后,在获取吞吐量时,将每条600k行中的每一行转储到您的日志文件中都没有任何好处。删除它或至少将其置于跟踪/调试级别。
如果您的代理位于其他地方(如世界其他地方)或一般网络延迟较差的位置,请考虑在ConnectionFactory设置上使用异步调度。它不会等待发送的每条消息的确认往返。
最后,如果以上都没有给出不错的结果(我认为只是一个池应该这样做)关闭消息持久性。代理盘可能是低规格/旧服务器的瓶颈。甚至还有一些调整来增强某些OS /存储组合以提高性能。