zoukankan      html  css  js  c++  java
  • tomcat优化

    【基本参数设置】
            修改Tomcat的/conf目录下面的server.xml文件,针对端口为8080的连接器添加如下参数:哭

        1. connectionTimeout:连接失效时间,单位为毫秒、默认为60s、这里设置为30s,如果用户请求在30s内未能进入请求队列,视为本次连接失败。

        2. keepAliveTimeout:连接的存活时间,默认和connectionTimeout一致,这里可以设为15s、这意味着15s之后本次连接关闭. 如果页面需要加载大量图片、js等静态资源,需要将参数适当调大一点、以免多次创建TCP连接。

         3. enableLookups:是否对连接到服务器的远程机器查询其DNS主机名,一般情况下这并不必要,因此设为false即可。

         4. URIEncoding:设置URL参数的编码格式为UTF-8编码,默认为ISO-8859-1编码。

         5. maxHttpHeaderSize:设置HTTP请求、响应的头部内容大小,默认为8192字节(8k),此处设置为32768字节(32k)、和Nginx的设置保持一致。

         6. maxThreads:最大线程数、用于处理用户请求的线程数目,默认为200、此处设置为300

         7. acceptCount:用户请求等候队列的大小,默认为100、此处设置为200

           Linux系统默认一个进程能够创建的最大线程数为1024、因此对高并发应用需要进行Linux内核调优,至此文件server.xml修改后的内容如下所示:吻

    Xml代码  收藏代码
    1. <Connector port="8080"   
    2.   protocol="HTTP/1.1"   
    3.   redirectPort="8443"   
    4.   connectionTimeout="30000"   
    5.   keepAliveTimeout="15000"  
    6.   enableLookups="false"  
    7.   URIEncoding="UTF-8"  
    8.   maxHttpHeaderSize="32768"  
    9.   maxThreads="300"  
    10.   acceptCount="200"  
    11. />  

    【线程池技术】天真

             默认情况下,Tomcat针对每个用户请求都单独创建一个线程,用户请求处理完成后又将线程立即销毁掉,在并发访问量很高的情况下,线程的创建和销毁会带来比较大的系统开销。因此有必要使用Tomcat提供的线程池功能,下面是设置Tomcat线程池的示例:

         1. 修改连接器的设置:指定executor的name为线程池的名字、同时去掉最大线程数maxThreads的设置。

    Xml代码  收藏代码
    1. <Connector executor="tomcatThreadPool"  
    2.   port="8080"   
    3.   protocol="HTTP/1.1"   
    4.   redirectPort="8443"   
    5.   connectionTimeout="30000"   
    6.   keepAliveTimeout="15000"  
    7.   enableLookups="false"  
    8.   URIEncoding="UTF-8"  
    9.   maxHttpHeaderSize="32768"  
    10.   acceptCount="200"  
    11. />  

         2. 线程池参数的设置: 尴尬

    Xml代码  收藏代码
    1. <Executor name="tomcatThreadPool"   
    2.   namePrefix="catalina-exec-"   
    3.   maxThreads="300"  
    4.   minSpareThreads="50"  
    5.   maxIdleTime = "15000"  
    6. />  

        说明:

         1. 通过namePrefix属性指定用户线程的命名前缀为“catalina-exec-”。

         2. maxThreads为最大线程数,minSpareThreads为最小空闲线程数,maxIdleTime为最大空闲时间、单位为毫秒。

    【使用Tomcat管理平台】惊讶

             修改Tomcat的conf目录下面的tomcat-users.xml文件,添加如下内容:

    Xml代码  收藏代码
    1. <user username="nick" password="123456" roles="manager"/>  

             启动Tomcat之后,通过http://localhost:8080访问欢迎页,点击左侧的Tomcat Manager链接,输入上面设置的账号后,在打开的页面点击Server Status链接进入Tomcat监控页面,可以查看到JVM、Tomcat的一些环境信息,以及当前的用户线程数:酷

     

    本文抄载,原文出处:http://hello-nick-xu.iteye.com/

  • 相关阅读:
    C#、Java实现按字节截取字符串包含中文汉字和英文字符数字标点符号等
    百度编辑器(UEditor)自定义工具栏
    ASP.NET使用百度编辑器(UEditor)使用方法
    C#设计模式--桥接模式
    C#设计模式--外观模式
    Entity Framework6测试使用
    Entity Framework6的在线下载安装
    C#设计模式--代理模式
    php 回调函数结合闭包(匿名函数)的使用示例
    函数的可变参数实例
  • 原文地址:https://www.cnblogs.com/xiaochongbojue/p/3959544.html
Copyright © 2011-2022 走看看