如何优化tomcat配置(从内存、并发、缓存3个方面)优化

来源:互联网 发布:phpstudy怎么配置域名 编辑:程序博客网 时间:2024/05/29 15:38
    1. 原文:http://blog.csdn.net/centre10/article/details/5063969  

  1. Tomcat有很多方面,我从内存、并发、缓存四个方面介绍优化方法。   
  2.   **  
  3.   
  4. 一.Tomcat内存优化  
  5.   
  6. **  
  7.   
  8.   Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数。   
  9.   JAVA_OPTS参数说明   
  10.   -server 启用jdk 的 server 版;   
  11.   -Xms java虚拟机初始化时的最小内存;   
  12.   -Xmx java虚拟机可使用的最大内存;   
  13.   -XX: PermSize 内存永久保留区域   
  14.   -XX:MaxPermSize 内存最大永久保留区域   
  15.   服务器参数配置  
  16.   
  17.   现公司服务器内存一般都可以加到最大2G ,所以可以采取以下配置:  
  18.   
  19.   JAVA_OPTS=’-Xms1024m -Xmx2048m -XX: PermSize=256M -XX:MaxNewSize=256m -XX:MaxPermSize=256m’  
  20.   
  21.   配置完成后可重启Tomcat ,通过以下命令进行查看配置是否生效:   
  22.   首先查看Tomcat 进程号:  
  23.   
  24.   sudo lsof -i:9027  
  25.   
  26.   我们可以看到Tomcat 进程号是 12222 。   
  27.   查看是否配置生效:  
  28.   
  29.   sudo jmap – heap 12222  
  30.   
  31.   我们可以看到MaxHeapSize 等参数已经生效。  
  32.   
  33.   **  
  34.   
  35. 二.Tomcat并发优化  
  36.   
  37. **  
  38.   
  39.   1.Tomcat连接相关参数  
  40.   
  41.   在Tomcat 配置文件 server.xml 中的  
  42.   
  43.   <Connector port="9027"  
  44.   protocol="HTTP/1.1"  
  45.   maxHttpHeaderSize="8192"  
  46.   minProcessors="100"  
  47.   maxProcessors="1000"  
  48.   acceptCount="1000"  
  49.   redirectPort="8443"  
  50.   disableUploadTimeout="true"/>  
  51.   
  52.   2.调整连接器connector的并发处理能力  
  53.   
  54.   1>参数说明  
  55.   
  56.   maxThreads 客户请求最大线程数   
  57.   minSpareThreads Tomcat初始化时创建的 socket 线程数   
  58.   maxSpareThreads Tomcat连接器的最大空闲 socket 线程数   
  59.   enableLookups 若设为true, 则支持域名解析,可把 ip 地址解析为主机名   
  60.   redirectPort 在需要基于安全通道的场合,把客户请求转发到基于SSL 的 redirectPort 端口   
  61.   acceptAccount 监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads )   
  62.   connectionTimeout 连接超时   
  63.   minProcessors 服务器创建时的最小处理线程数   
  64.   maxProcessors 服务器同时最大处理线程数   
  65.   URIEncoding URL统一编码  
  66.   
  67.   2>Tomcat中的配置示例  
  68.   
  69.   <Connector port="9027"  
  70.   protocol="HTTP/1.1"  
  71.   maxHttpHeaderSize="8192"  
  72.   maxThreads="1000"  
  73.   minSpareThreads="100"  
  74.   maxSpareThreads="1000"  
  75.   minProcessors="100"  
  76.   maxProcessors="1000"  
  77.   enableLookups="false"  
  78.   URIEncoding="utf-8"  
  79.   acceptCount="1000"  
  80.   redirectPort="8443"  
  81.   disableUploadTimeout="true"/>  
  82.   
  83.   3.Tomcat缓存优化  
  84.   
  85.   1>参数说明  
  86.   
  87.   c ompression 打开压缩功能   
  88.   compressionMinSize 启用压缩的输出内容大小,这里面默认为2KB   
  89.   compressableMimeType 压缩类型   
  90.   connectionTimeout 定义建立客户连接超时的时间. 如果为 -1, 表示不限制建立客户连接的时间  
  91.   
  92.   2>Tomcat中的配置示例  
  93.   
  94.   <Connector port="9027"  
  95.   protocol="HTTP/1.1"  
  96.   maxHttpHeaderSize="8192"  
  97.   maxThreads="1000"  
  98.   minSpareThreads="100"  
  99.   maxSpareThreads="1000"  
  100.   minProcessors="100"  
  101.   maxProcessors="1000"  
  102.   enableLookups="false"  
  103.   compression="on"  
  104.   compressionMinSize="2048"  
  105.   compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  
  106.   connectionTimeout="20000"  
  107.   URIEncoding="utf-8"  
  108.   acceptCount="1000"  
  109.   redirectPort="8443"  
  110.   disableUploadTimeout="true"/>  
  111.   
  112.   4.参考配置  
  113.   
  114.   1>旧有的配置  
  115.   
  116.   参考网络对服务器做过如下配置,拿出来分享下:  
  117.   
  118.   <Connector port="9027"  
  119.   protocol="HTTP/1.1"  
  120.   maxHttpHeaderSize="8192"  
  121.   maxThreads="1000"  
  122.   minSpareThreads="25"  
  123.   maxSpareThreads="75"  
  124.   enableLookups="false"  
  125.   compression="on"  
  126.   compressionMinSize="2048"  
  127.   compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  
  128.   connectionTimeout="20000"  
  129.   URIEncoding="utf-8"  
  130.   acceptCount="200"  
  131.   redirectPort="8443"  
  132.   disableUploadTimeout="true" />  
  133.   
  134.   
  135.   后来发现在访问量达到3 百万多的时候出现性能瓶颈。   
  136.   2>更改后的配置  
  137.   
  138.   <Connector port="9027"  
  139.   protocol="HTTP/1.1"  
  140.   maxHttpHeaderSize="8192"  
  141.   maxThreads="1000"  
  142.   minSpareThreads="100"  
  143.   maxSpareThreads="1000"  
  144.   minProcessors="100"  
  145.   maxProcessors="1000"  
  146.   enableLookups="false"  
  147.   compression="on"  
  148.   compressionMinSize="2048"  
  149.   compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  
  150.   connectionTimeout="20000"  
  151.   URIEncoding="utf-8"  
  152.   acceptCount="1000"  
  153.   redirectPort="8443"  
  154.   disableUploadTimeout="true"/>  
阅读全文
0 0