zoukankan      html  css  js  c++  java
  • 浅谈tomcat中间件的优化【转】

    今天来总结一下tomcat的一些优化的方案,由于本人才疏学浅,写的不好,勿喷!

    tomcat对于大多数从事开发工作的童鞋应该不会很陌生,通常做为默认的开发环境来为大家服务,不过tomcat默认的一些配置对于生产环境来说是相当不够滴,特别对于内存以及线程的配置方面都很有可能成为日后性能的瓶颈。

    接下来咱们就聊聊tomcat的优化,从内存以及线程两个方面来谈:

    1.内存方面

    tomcat的内存优化操作起来就比较简单了

    如果是linux环境的话设置如下:

    修改TOMCAT_HOME/bin/catalina.sh,在前面加入

    JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -Duser.timezone=Asia/Shanghai"

    如果是windows环境的话设置如下:

    修改TOMCAT_HOME/bin/catalina.bat,在前面加入

    set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m

    2.线程方面

    在server.xml中 有以下配置:

    <Connector
     port="8080" protocol="HTTP/1.1" maxThreads="600" minSpareThreads="100" 
    maxSpareThreads="500" acceptCount="700"connectionTimeout="20000" />

    先来了解一下各属性内容:

    maxThreads="X" 表示最多同时处理X个连接

    minSpareThreads="X" 初始化X个连接

    maxSpareThreads="X" 表示如果最多可以有X个线程,一旦超过X个,则会关闭不在需要的线程

    acceptCount="X" 当同时连接的人数达到maxThreads时,还可以排队,队列大小为X.超过X就不处理

    这里是http connector的优化,如果使用apache和tomcat做集群的负载均衡,并且使用ajp协议做apache和tomcat的协议转发,那么还需要优化ajp connector。

    <Connector
     port="8009" protocol="AJP/1.3" maxThreads="600" minSpareThreads="100" 
    maxSpareThreads="500" acceptCount="700"connectionTimeout="20000" 
    redirectPort="8443" />

    由于tomcat有多个connector,所以tomcat线程的配置,又支持多个connector共享一个线程池。

    首先。打开/conf/server.xml,增加

    <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />

    最大线程500(一般服务器足以),最小空闲线程数20,线程最大空闲时间60秒。

    然后,修改<Connector ...>节点,增加executor属性,executor设置为线程池的名字:

    <Connector
     executor="tomcatThreadPool" port="80" protocol="HTTP/1.1" 
    connectionTimeout="60000" keepAliveTimeout="15000" 
    maxKeepAliveRequests="1" redirectPort="443" />

    可以多个connector公用1个线程池,所以ajp connector也同样可以设置使用tomcatThreadPool线程池。

    转自

    浅谈tomcat中间件的优化

    https://www.toutiao.com/i6499659893543272974/

  • 相关阅读:
    关于求 p_i != i and p_i != i+1 的方案数的思考过程
    poj 3041 Asteroids 二分图最小覆盖点
    poj 1325 Machine Schedule 最小顶点覆盖
    poj 1011 Sticks 减枝搜索
    poj 1469 COURSES 最大匹配
    zoj 1516 Uncle Tom's Inherited Land 最大独立边集合(最大匹配)
    Path Cover (路径覆盖)
    hdu 3530 SubSequence TwoPoint单调队列维护最值
    zoj 1654 Place the Rebots 最大独立集转换成二分图最大独立边(最大匹配)
    poj 1466 Girls and Boys 二分图最大独立子集
  • 原文地址:https://www.cnblogs.com/paul8339/p/8056215.html
Copyright © 2011-2022 走看看