美文网首页
4.tomcat系统优化

4.tomcat系统优化

作者: _少年不知愁 | 来源:发表于2020-11-05 16:29 被阅读0次

    1.tomcat系统优化

    指标

    降低响应时间
    提高系统吞吐量(QPS)
    提高服务的可用性

    2.性能优化中使用的工具

    JConsole

    一个内置 Java性能分析器

    jdk安装目录/bin/jconsole.exe

    JMeter

    一个Apache组织开发的基于Java的压力测试工具jdk安装目录/bin/jconsole.exe

    下载地址:http://jmeter.apache.org/download_jmeter.cgi

    性能优化测试原则

    指标:正确率、CPU占有率、QPS、JVM

    3.server.xml优化

    tomcat8.5之后默认时NIO

    tomcat-io模型.jpg

    4.web.xml优化

    1.去掉不必要的资源:JspServlet

    2.seesion也可以移除

    valve优化

    移除掉AccessLogValvevalve实现都需要消耗java应用的计算时间,一般我们可以使用nginx来记录

    5.tomcat线程池配置

    线程池指定Web请求负载的数量

    合理设置maxThreads线程数

    • acceptCount:请求等到队列大小。当Tomcat没有空闲线程处理连接请求时,新来的链接请求将放入等待队列,默认为100。当队列超过acceptCount后新连接将被拒绝。

    • maxConnections:Tomcat能处理的最大并发连接数.当超过后还会接收连接并放入等待队列(acceptCount控制),连接会等待,不能被处理。BIO默认是maxThreads. 对于NIO和NIO2,默认值为10000。对于APR /native,默认值为8192。

      仅对于NIO / NIO2,将该值设置为-1将禁用maxConnections功能,并且不计算连接数。

    • minSpareThreads:线程池最小线程数,默认为10。该配置指定线程池可以维持的空闲线程数量。(始终保持运行状态的最小线程数。 这包括活动线程和空闲线程。 如果未指定,则使用默认值10。 如果执行程序与此连接器相关联,则此属性将被忽略,因为连接器将使用执行程序而不是内部线程池执行任务。 请注意,如果配置了执行程序,则将正确记录为此属性设置的任何值,但会将其报告为(例如,通过JMX)-1,以表明未使用该值。)

    • maxThreads:线程池最大线程数,默认为200。当线程池空闲一段时间后会解释放到只保留minSpareThreads个线程。

    6.提高JVM堆内存大小

    JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8-server
    -Xms1024m -Xmx1024m-XX:NewSize=512m -XX:MaxNewSize=512m
    -XX:PermSize=512m-XX:MaxPermSize=512m -XX:+DisableExplicitGC"
    

    -Xms – 指定初始化时化的栈内存

    -Xmx – 指定最大栈内存

    相关文章

      网友评论

          本文标题:4.tomcat系统优化

          本文链接:https://www.haomeiwen.com/subject/ishavktx.html