Tomcat优化方案
Tomcat调优,主要修改conf/server.xml的文件
1、定义线程池
Executor是公共的线程,定义一些公共的参数,参数不一样的定义在Connector
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1000" acceptCount="1000" minSpareThreads="50" maxSpareThreads="100" maxIdleTime="600000" />
name:定义名字以便Connector类调用,也可以让多个Connector调用,就达到了公用线程池的效果
namePrefix="catalina-exec-" 在JVM上,每个运行线程都可以有一个name 字符串。这一属性为线程池中每个线程的name字符串设置了一个前缀,Tomcat将把线程号追加到这一前缀的后面。默认值:tomcat-exec-;
maxThreads="1000" Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。默认值200。可以根据机器的时期性能和内存大小调整,一般可以在400-500。最大可以在800左右。
acceptCount="1000" 当tomcat起动的线程数达到最大时,接受排队的请求个数,默认值为100
minSpareThreads="50" Tomcat初始化时创建的线程数。默认值4。如果当前没有空闲线程,且没有超过maxThreads,一次性创建的空闲线程数量。Tomcat初始化时创建的线程数量也由此值设置。
maxSpareThreads="50" 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值50。一旦创建的线程超过此数值,Tomcat会关闭不再需要的线程。线程数可以大致上用 “同时在线人数*每秒用户操作次数*系统平均操作时间” 来计算。
maxIdleTime="60000" 在Tomcat关闭一个空闲线程之前,允许空闲线程持续的时间(以毫秒为单位)。只有当前活跃的线程数大于minSpareThread的值,才会关闭空闲线程。默认值:60000(一分钟)。
2、使用线程池
<Connector port="80" executor="tomcatThreadPool" redirectPort="8443" minProcessors="5" maxProcessors="50" connectionTimeout="20000"
compression="on" enableLookups="false" disableUploadTimeout="true" enableLookups="false" compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" URIEncoding="UTF-8">
executor: 使用Executor定义的线程池
redirectPort:重定向的端口
minProcessors:服务器启动时创建的处理请求的线程数;
maxProcessors:最大可以创建的处理请求的线程数;
enableLookups:禁用DNS查询,就是不用解析客户端的DNS,如果需要就0设为true
URIEncoding="UTF-8":运行系统的编码
enableLookups="false":是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
disableUploadTimeout="true":上传文件超时时间
compression="on": 压缩建议不压缩,压缩会消耗时间
compressionMinSize="2048":最小的压缩的大小
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain":压缩的内容类型
3、实例
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="1000" acceptCount="1000" minSpareThreads="50" maxSpareThreads="100" maxIdleTime="600000" />
<Connector port="80" executor="tomcatThreadPool" redirectPort="8443" minProcessors="5" maxProcessors="50" connectionTimeout="20000"
compression="on" disableUploadTimeout="true" enableLookups="false" compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" URIEncoding="UTF-8" />
Tomcat优化方案相关推荐
- Tomcat 优化方案
Tomcat 优化方案 一.Tomcat内存优化 1. Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPT ...
- Tomcat 配置详解/优化方案
Server.xml [原地址:http://blog.csdn.net/cicada688/article/details/14451541] Server.xml配置文件用于对整个容器进行相关的配 ...
- Tomcat 配置详解/优化方案
Service.xml Server.xml配置文件用于对整个容器进行相关的配置. <Server>元素: 是整个配置文件的根元素.表示整个Catalina容器. 属性: classNam ...
- tomcat优化-有改protocol 和 缓存 集群方案
tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验. 1. 服务器资源 服务器所能提供CPU.内存.硬 ...
- tomcat优化-有改protocol 和 缓存 集群方案 转载自http://passover.blog.51cto.com/2431658/732629
tomcat优化 在线上环境中我们是采用了tomcat作为Web服务器,它的处理性能直接关系到用户体验,在平时的工作和学习中,归纳出以下七种调优经验. 1. 服务器资源 服务器所能提供CPU.内存.硬 ...
- react性能优化方案_React灵敏且性能卓越的Spray + Akka解决方案,以“在Java和Node.js中发挥并发性和性能”...
react性能优化方案 在我以前的文章中,我研究了一个虚拟的交易引擎,并将基于Java的阻止解决方案与基于Node.js的非阻止解决方案进行了比较. 在文章的结尾,我写道: 我怀疑随着Node.js的 ...
- nginx做代理访问慢,优化方案
如果ng和程序在同一台服务器上,优化方案使用内网IP或者127.0.0.1的ip作为域名映射的ip地址,使用127.0.0.1有可能也会有问题所以最好使用内网IP #user nobody; wor ...
- Tomcat优化之JDK优化之熵池策略
在apache-tomcat官方文档:如何让tomcat启动更快 里面提到了一些启动时的优化项,其中一项是关于随机数生成时,采用的"熵源"(entropy source)的策略. ...
- 应用部署优化方案分享
转载本文需注明出处:微信公众号EAWorld,违者必究. 引言: 在企业级应用实施和运营过程中,为了解决企业中部分业务场景访问量大.并发量高的问题,就需要对系统架构及应用参数做出优化和调整,如架构优化 ...
最新文章
- 转载:Ajax及 GET、POST 区别
- Remote Desktop Manager 2019中文版
- java判断星期天_java实现一个月的最后一个星期天
- [CF893F]Subtree Minimum Query
- java fangfa_daicanfangfa java中的方法 刚入门的分不清带参方法的作用和用处 这个可以详细的讲解如何使用带参方法 - 下载 - 搜珍网...
- jquery.cookie中的操作
- 20165230 2017-2018-2 《Java程序设计》第8周学习总结
- 前端开发工程师如何在2013年里提升自己
- PHP面相对象中的重载与重写
- SpringBoot 集成 Caffeine、Redis实现双重缓存方式(二)
- 趣谈网络协议——HTTPS协议
- java程序设计-飞机大战
- OK3399设置GPIO默认低电平
- 狂神说Java---java学习笔记(图片有些问题,有时间将图片从电脑上传上来)
- 关于SFM的材质vmt科普
- 用JS去掉IE窗口的标题栏,工具栏,地址栏
- [OHIF-Viewers]医疗数字阅片-医学影像-React/Redux 的好帮手Classnames
- STC用PCA测量脉宽_超快激光脉冲测量和诊断使用自相关仪
- catia锥齿轮cad三视图_catia直齿圆锥齿轮有限元分析
- Flask 学习-9. 开启调试模式(debug模式)的2种方法
热门文章
- Markdown的使用之一:表格和公式
- Kiva(亚马逊)机器人介绍
- 亚马逊Amazon-API接口使用说明
- getLocation需要在app.json中声明permission字段
- Ceph运维告诉你分布式存储的那些“坑”
- java8的时期和时间
- Refused to execute inline script because it violates the following Content Security Policy directive
- 【netcore】MiniExcel轻量级开源组件使用
- KDevelop开发环境的搭建
- imatest测试分辨率使用教程