Jetty调优文档

Stella981
• 阅读 796

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 &

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Wesley13 Wesley13
2年前
4、jstack查看线程栈信息
1、介绍利用jps、top、jstack命令找到进程中耗时最大的线程,以及线程状态等等,同时最后还可以显示出死锁的线程查找:FoundoneJavaleveldeadlock即可1、jps获得进程号!(https://oscimg.oschina.net/oscnet/da00a309fa6
Wesley13 Wesley13
2年前
03.Android崩溃Crash库之ExceptionHandler分析
目录总结00.异常处理几个常用api01.UncaughtExceptionHandler02.Java线程处理异常分析03.Android中线程处理异常分析04.为何使用setDefaultUncaughtExceptionHandler前沿上一篇整体介绍了crash崩溃
Stella981 Stella981
2年前
Noark入门之线程模型
0x00单线程多进程单线程与单进程多线程的目的都是想尽可能的利用CPU,减少CPU的空闲时间,特别是多核环境,今天咱不做深度解读,跳过...0x01线程池锁最早的一部分游戏服务器是采用线程池的方式来处理玩家的业务请求,以达最大限度的利用多核优势来提高处理业务能力。但线程池同时也带来了并发问题,为了解决同一玩家多个业务请求不被
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
2个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这