1.在Tomcat服务中一个用户请求都是一个线程 所以使用线程池提高性能
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后创建线程后自动这些任务,线程池线程都是后台线程,每个线程都是用默认的堆栈大小。
什么情况下使用线程池
单个任务处理时间短 将需处理的任务数量大
2.Tomcat优化
a ).调整线程连接数
maxThreads ##最大线程数
minSpareThreads ##最小活跃线程 (开机时准备的空闲线程 )
prestartminSpareThreads ##是否在启动时就生成minSpareTHreads 个线程
MaxQueueSize ## 最大的等待对列数,超过则请求拒绝
安装目录下/conf/server.xml
b).Tomcat连接器
Connector是Tomcat接受求救的入口,每个Connector有自己的专属的监听端口
Connector有两种:HTTP Connector (8080) 和 AJP Connector (8009)
enableLookups ###是否进行域名解析 一般设置成false
maxPostSize ## 设置POST请求方法的大小
port ##端口
protocol ##协议
URIEncoding ## 指定字符集
accpetCount ##最大对列长度
accpetorThreadsCount ##接受连接的线程数
compression ##是否进行压缩
connectionUploadTimeout ##指定上传超时时间
disableUploadTImeout ##禁用上传超时时间
SSLEnable ##SSL是否开启
c).禁用Tomcat AJP连接器
AJP协议是面向包的。WEB服务器和servlet 容器通过TCP连接来交互;为节省SOCKET创建的昂贵代价,WEB服务器会尝试维护一个永久的TCP链接到servlet容器,并且在多个请求和响应周期过程会重新连接
我们一般使用Nginx+Tomcat的架构 ,所以用不着AJP协议 禁用8009端口就可以了
3.Tomcat JVM参数优化
在Tomcat中设置JVM参数
Tomcat性能取决于内存大小
1.优化代码
2.jvm优化机制 垃圾回收机制 把不需要的的内存回收
3.加大内存
4.每天定点重启服务