Jetty调优文档

1.       线程池

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

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

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

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

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

jetty中的配置实例:

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

  

     

     

        10

        200

        false

     

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

默认最大的线程才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中得默认配置:

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

   

     

         

           

             

            300000

            2  

            false

            8443

            20000

            5000

         

     

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

 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

你可能感兴趣的:(java,开发工具,网络)