Jetty调优文档

1.       线程池

线程池线程资源大小确定了服务器的服务能力

默认大小不一定能满足生产环境

线程分配方式决定了服务器的资源利用效率

固定线程数处理多任务,代表:JDK的ThreadPoolExecutor  

       以最大的线程数为限处理多任务,代表:jetty自带的QueuedThreadPool

jetty中的配置实例:

#######################################################################

   <Set name="ThreadPool">

      <!-- Default queued blocking threadpool -->

      <New class="org.eclipse.jetty.util.thread.QueuedThreadPool">

        <Set name="minThreads">10</Set>

        <Set name="maxThreads">200</Set>

        <Set name="detailedDump">false</Set>

      </New>

</Set>

########################################################################

默认最大的线程才200个,肯定不能满足我们的生产环境,建议范围500-900

2.       Connectors

选择Connector时,需要考虑

     应用自身的特点,例如:股票,聊天室

     Tcp连接数

     Keep-Alive

Java BIO Connectors

      ScoketConnector (HTTP)

      Ajp13SocketConnector (AJP)

      SslSocketConnector (SSL)

Java NIO Commectors

     SelectChannelConnector (HTTP)

      SslSelectChannelConnector (SSL)

jetty中得默认配置:

########################################

    <Call name="addConnector">

      <Arg>

          <New class="org.eclipse.jetty.server.nio.SelectChannelConnector">

            <Set name="host"><Property name="jetty.host" /></Set>

            <Set name="port"><Property name="jetty.port" default="8080"/></Set> 

            <Set name="maxIdleTime">300000</Set>

            <Set name="Acceptors">2</Set>  

            <Set name="statsOn">false</Set>

            <Set name="confidentialPort">8443</Set>

            <Set name="lowResourcesConnections">20000</Set>

            <Set name="lowResourcesMaxIdleTime">5000</Set>

          </New>

      </Arg>

</Call>

############################################################

 jetty.port: 设置jetty的端口号.

 maxIdleTime:表示连接最大空闲时间,默认值300000这个值太大,典型值3000左右足够.

 Acceptors: 表示同时在监听read事件的线程数,缺省值为2,对于NIO来说,建议值2-(处理器核数+1).

 lowResourcesMaxIdleTime:表示线程稀少时的maxIdleTime,一般设置为 <= maxIdleTime.

 lowResourcesConnections:  只有NIO才有这个设置,表示连接空闲时的最大连接数,大于这个数将被shutdown,每个acceptor的连接数=(lowResourcesConnections+acceptor-1)/ acceptor

                               这个我们就保持默认设置就可以.

3.       JVM调优

JVM参数主要是 /栈内存大小调整

         -Xmx/xms                    最大/最小堆大小

         -xmn                        新生代大小

            -XX:MaxPermSize             持久代堆大小

Jetty中的默认设置

###############################

# --exec

# -Dcom.sun.management.jmxremote

# -Dorg.eclipse.jetty.util.log.IGNORED=true

# -Dorg.eclipse.jetty.util.log.stderr.DEBUG=true

# -Dorg.eclipse.jetty.util.log.stderr.SOURCE=true

-Xmx2048m

-Xmn1024m

# -verbose:gc

# -XX:+PrintGCDateStamps

# -XX:+PrintGCTimeStamps

# -XX:+PrintGCDetails

# -XX:+PrintTenuringDistribution

# -XX:+PrintCommandLineFlags

# -XX:+DisableExplicitGC

# -XX:+UseConcMarkSweepGC

# -XX:ParallelCMSThreads=2

# -XX:+CMSClassUnloadingEnabled

# -XX:+UseCMSCompactAtFullCollection

# -XX:CMSInitiatingOccupancyFraction=80

#######################################

jetty启动脚本:

java -Djetty.home=/usr/local/jetty7 -Djava.io.tmpdir=/tmp –Xmn1024M –Xms2048M –Xmx2048M -XX:PermSize=512M -XX:MaxNewSize=1024M -XX:MaxPermSize=1024M -Djava.awt.headless=true -jar /usr/local/jetty7/start.jar --pre=etc/jetty-logging.xml jetty.port=8080 &

转载于:https://my.oschina.net/simonfj/blog/1577701

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值