zoukankan      html  css  js  c++  java
  • ActiveMQ安装优化

    ActiveMQ性能測试

    http://m.blog.csdn.net/blog/brushli/41750615

    1、下载ActiveMQ
    官网:http://activemq.apache.org/

    2、安装ActiveMQ
    解压压缩包就可以直接使用

    3、改动端口号、账号password
    默认连接端口为61616,按例如以下我把它改动为61617:
    vi conf/activemq.xml

            <transportConnectors>
                <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
                <transportConnector name="openwire" uri="tcp://0.0.0.0:61617?

    maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/> </transportConnectors>

    默认web console端口为8161,按例如以下我把它改动为8162:
    vi conf/jetty.xml

        <bean id="jettyPort" class="org.apache.activemq.web.WebConsolePort" init-method="start">
                 <!-- the default port number for the web console -->
            <property name="host" value="0.0.0.0"/>
            <property name="port" value="8162"/>
        </bean>

    默认账号password为admin/admin。按例如以下我把它改动为admin/admin123456
    vi conf/users.properties

    admin=admin123456

    4、调整配置
    1) 改动持久化kahaDB的配置。例如以下:

        <persistenceAdapter>
            <kahaDB directory="${activemq.data}/kahadb" indexCacheSize="100000" indexWriteBatchSize="1000" enableJournalDiskSyncs="false"  journalMaxFileLength="128mb" concurrentStoreAndDispatchQueues="true" concurrentStoreAndDispatchTopics="true"/>
        </persistenceAdapter>

    当中參数,大家网上查一下kahaDB的配置了解下便可,这样配置满足一般应用了。我測试速度在2500 - 4000多的样子。

    只是详细还要看机器硬件。

    这里要说明的是,按我測试5.13.0版本号,假设kahaDB不做不论什么改动。在开启持久化的情况下。生产者(写入)速度仅仅有三十多每秒的样子。

    (不知道其它版本号默认是否这样)

    2) 对一个broker的阈值是通过在activemq.xml中的配置中的部分设定的。

    这个特征同意producer仍然可以在consumer因为耗尽内存或转向producer flow control而变慢时发送消息,memoryUsage 默认值为20m,调整为128m

    <systemUsage>
        <systemUsage>
            <memoryUsage>
                <memoryUsage limit="512 mb"/>
            </memoryUsage>
            <storeUsage>
                <storeUsage limit="1 gb" name="foo"/>
            </storeUsage>
            <tempUsage>
                <tempUsage limit="100 mb"/>
            </tempUsage>
        </systemUsage>
    </systemUsage>

    5、启动和停止
    启动:ActiveMQHOME/bin/activemqstart{ActiveMQ_HOME}/bin/activemq stop

    6、顺便提几点关于使用Spring集成JMS的
    1) 三种消息监听器可以參考帖子 http://haohaoxuexi.iteye.com/blog/1893676
    2) 消息的重投策略:
    使用事务,而且调用了rollback()方法;
    一个事务session。关闭之间调用了commit。
    session中使用CLIENT_ACKNOWLEDGE签收模式,而且调用了Session.recover()方法。


    3) 假设使用JTA分布式事务,须要改动 jms:listener-container 的 acknowledge=”transacted”
    4) 指定异步/同步发送
    jms.alwaysSyncSend=false&jms.useAsyncSend=true
    当alwaysSyncSend=false时。对于“NON_PERSISTENT”(非持久化)消息将使用“异步发送”。对于非持久化消息,使用异步发送是最佳的选择,我们通常使用这样的手段调优。


    当alwaysSyncSend=false时,假设指定了useAsyncSend=true。则“PERSISTENT”类型的消息,也将使用异步发送。但broker仍无法担保消息一定被持久化成功。
    当alwaysSyncSend=false时,不管怎样,在事务中的消息,都将使用异步发送。

  • 相关阅读:
    Condtion type Z123 is mandatory!
    PUSU 拆分后发货和开票的时间节点问题
    mass create DN
    Mike Piehl
    变式配置简介 VARIANT CONFIGURATION
    4th Dec 2018
    (转)SQL Server 2012笔记分享-25:配置备份维护计划
    从ICassFactory为CLSID为{17BCA6E8-A950-497E-B2F9-AF6AA475916F}的COM组件创建实例失败,原因是出现以下错误:c001f011.(Microsoft.Server.manageDTS)
    SQL Server 2008 Tempdb 数据库迁移
    .woff HTTP GET 404 (Not Found)
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7279208.html
Copyright © 2011-2022 走看看