tomcat优化

线程池优化:

  1>ulimit  -a

    修改: /etc/security/limits.conf

  2>添加maxConnections的配置   ()

    对CPU要求更高时,建议不要配置过大

    对CPU要求不是那么特别高,建议配置3000左右  (默认为10000)

    配置文件:server.xml------->connector

  3>maxTreads 最大线程数   默认为200;  建议:500~700

  4>acceptCount 最大排队等待数  

acceptCount比作前厅(容纳取到号的人)、maxConnections比作大厅(容纳买到票的人)、maxThreads比作影厅(可以理解一个影厅只容纳一个人,因为一个线程同时只处理一个请求)

以下场景是针对已达到maxConnections最大值来讨论的:

1)取号:如果前厅人数已达到acceptCount,则拿号失败,会得到Connection refused connect的回复信息。反之则会进入前厅,等待买票。

2)买票:当大厅人数小于maxConnections时,前厅的人就可以进入大厅

3)观影:当影厅的人离开时,大厅的部分人能进入影厅,一般来讲大厅的容量要远大于影厅的数量。

 

tomcat三种模式:

BIO:最稳定最老的一个连接器,使用阻塞形式处理request请求

NIO:使用JAVA的异步IO技术,进行非阻塞形式处理request请求

APR:原生C语言编写的非堵塞I/O,目前性能最理想------------->对于高并发的请求,性能波动较稳定

APR安装:

  1>依赖:yum -y install expat  expat-devel

  2>安装顺序: apr  -----   apr-iconv ----- apr-util     (找对应的编译包安装)

 

 

tomcat集群

为什么要搭建tomcat集群: 可以让session共享

tomcat集群方式:

  1>apache tomcat clustering

  2>JWT等类似机制(解决了集群形式下分布式session存在的问题)

  3>MSM(memcache的session管理)、Tomcat+redis等统一管理session管理

 

配置集群:   tomcat.apache.org 官网地址,官网有具体文档

 

posted @ 2019-04-19 18:06  天宇星空  阅读(152)  评论(0编辑  收藏  举报