Tomcat调优

Tomcat的默认配置,性能并不是最优的,我们可以通过优化tomcat以此来提高网站的并发能力,上篇文章已经介绍了 tomcat优化内存,这里将从其他方面继续介绍tomcat的调优。
添加完用户后,启动tomcat,浏览器访问 http://IP:8080 点击server status 查看信息

图片.png

图片.png

tomcat的运行模式有3种:

bio:
默认的模式,性能非常低下,没有经过任何优化处理和支持.
nio:
nio(new I/O),是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写。它拥有比传统I/O操作(bio)更好的并发运行性能。
apr:
安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能.

启动NIO模式

修改server.xml里的Connector节点,修改protocol为

org.apache.coyote.http11.Http11NioProtocol
图片.png
图片.png

执行器优化(线程池)

在tomcat中每一个用户请求都是一个线程,所以可以使用线程池提高性能。
开启并且使用,在Connector中指定使用共享线程池
配置:

    <Connector port="8080"  
            protocol="org.apache.coyote.http11.Http11NioProtocol"  
            maxHttpHeaderSize="8192"  
            maxThreads="1000"  
            minSpareThreads="100"  
            maxSpareThreads="1000"  
            minProcessors="100"  
            maxProcessors="1000"  
            enableLookups="false"  
            compression="on"  
            compressionMinSize="1024"  
            noCompressionUserAgents="gozilla, traviata"  
            compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"  
            connectionTimeout="25000"  
            URIEncoding="utf-8"  
            acceptCount="1000"  
            redirectPort="8443"  
            disableUploadTimeout="true" /> 
        maxThreads 客户请求最大线程数
        minSpareThreads Tomcat初始化时创建的 socket 线程数
        maxSpareThreads Tomcat连接器的最大空闲 socket 线程数
        enableLookups 若设为true, 则支持域名解析,可把 ip 地址解析为主机名
        redirectPort 在需要基于安全通道的场合,把客户请求转发到基于SSL 的 redirectPort 端口
        acceptAccount 监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads )
        connectionTimeout 连接超时
        minProcessors 服务器创建时的最小处理线程数
        maxProcessors 服务器同时最大处理线程数
        URIEncoding URL统一编码
图片.png

禁用AJP连接器

AJP(Apache JServer Protocol)
AJPv13协议是面向包的。WEB服务器和Servlet容器通过TCP连接来交互;为了节省SOCKET创建的昂贵代价,WEB服务器会尝试维护一个永久TCP连接到servlet容器,并且在多个请求和响应周期过程会重用连接。
我们一般是使用Nginx+tomcat的架构,所以用不着AJP协议,所以把AJP连接器禁用

图片.png

在管理界面中看不到ajp了:

图片.png

完成上面几步对Tomcat的优化配置,你的Tomcat服务器并发量肯定会有大幅度的提升.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Tomcat可以从内存、并发、缓存等方面进行优化 1、Tomcat内存优化: 在tomcat的启动脚本catali...
    心云间丶聆听阅读 1,671评论 0 7
  • Tomcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒...
    愤怒的_菜鸟阅读 2,139评论 0 24
  • Tomcat 的缺省配置是不能稳定长期运行的,也就是不适合生产环境,它会死机,让你不断重新启动,甚至在午夜时分唤醒...
    java面试收割机阅读 1,211评论 0 8
  • Tomcat调优是一个老话题,目的都是为了提高站点的吞吐和并发。这里面涉及到Tomcat本身参数的优化和JVM优化...
    YungFan阅读 1,372评论 0 9
  • 要不是说人某些功能是有存在意义的。 比如,人的记忆会遗忘,在受到强烈冲击后,大脑会自动减少自己的痛苦而更好地处理所...
    turegirl阅读 127评论 0 0