- 浏览: 342955 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (198)
- HIBERNATE (8)
- JAVA (13)
- 数据库 (24)
- SPRING (1)
- LINUX (0)
- 需求管理 (3)
- 职业提升 (6)
- 团队建设 (1)
- 日常用到语句 (1)
- FLEX (6)
- 用户体验 (3)
- 设计模式 (6)
- weblogic (2)
- PowerDesigner (3)
- HTML (7)
- ANT (7)
- 工具. (1)
- bat (5)
- 存储过程 (1)
- strus2 (1)
- DWR (2)
- jfreechart (4)
- 上线测试优化 (17)
- JVM (9)
- 工具使用 (2)
- 算法 (3)
- 私事 (0)
- 数据库-Oracle session (1)
- 软件开发 (5)
- 产品 (2)
- 项目管理 (4)
- oracle语句 (1)
- IntelliJ IDEA (4)
- GRAILS (10)
- Groovy (1)
- JS (1)
- DUBBO (1)
- JAVA EXCEL (3)
- netty websocket (1)
- kafka (1)
- 秘钥体系 (2)
- golang (6)
- gradle (1)
- spring cloud (0)
最新评论
-
wujt:
...
Grails_数据库逆向工程插件 db-reverse-engineer -
yy8093:
我也遇到这个问题,不过并不觉得是个好的方法。。。。不过最后也确 ...
关于dubbo服务产生异常之:Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting s -
wujt:
# ----- Execute The Requested C ...
jconsole基础配置(原创) -
gaowei52306:
你好,请问remotedir="/home/dmwe ...
Ant FTP -
抢街饭:
ant生成日志 在命令行也能看见 怎么去做啊
ant生成日志
Tomcat常用优化技巧
本文是就Tomcat 4为基础向大家介绍WEB容器调优的,因为许多朋友安装好之后就开始正式上线,很少有人以用户现场为基础对服务器进行调优。如果并发量小,系统可能不会出问题,但是并发量大时,系统反应速度迅速下降,由于不了解原因,因此大家还拼命在自己的应用中寻找问题,从而浪费了宝贵的现场时间。但是Tomcat如何调优呢?
其实真正的WEB容器调优是需要许多方面的知识的,你必须了解网络+硬件+OS+JVM+WEB容器,但是这篇文章无法讲解那么多,而应用服务器本身也有些调优的基本原则,下文就会给予介绍。
先在Tomcat安装目录中找到conf子目录,然后再打开web.xml文件,搜索附件A中的内容,可能会有些不同。不同的地方就是需要修改的部分。
1. 屏蔽DNS查询。
Web应用程序可以通过Web容器提供的getRemoteHost()方法获得访问Web应用客户的IP地址和名称,但是这样会消耗Web容器的资源,并且还需要通过IP地址和DNS服务器反查用户的名字,因此当系统上线时,可以将这个属性关闭,从而减少资源消耗,那么Web应用也就只能记录下IP地址了。修改的属性是enableLoopups="false"
2. 调整线程数。
Tomcat通过线程池来为用户访问提供响应,对于上线的系统初步估计用户并发数量后,然后调整线程池容量。例如:用户并发数量大约在100左右。那么可以设置minProcessors="100" maxProcessors="100",将最大和最小设置为一样后,线程池不会再释放空闲的线程,使用户访问突然增加的时候,不需要再消耗系统资源去创建新的线程。
3. 调整最大连接数
这个其实最复杂,即使用户并发量大,但是系统反应速度快的话,可以把这个值不用设置太高,高了系统需要消耗大量的资源去切换线程,但是如果设置太低也会造成应用无法满足用户并发需要。因此设置这个最好能够结合整个系统的跟踪与调优,使系统达到最好的平稳状态。一般设置为maxProcessors的1.5倍就可以了。
4. 调整网络超时。
主要是HTTP协议也有个连接过程,客户端连接到服务器上后,多长时间没有得到处理就会被释放。如果服务器处理速度较慢,但是希望每个用户都能得到有效处理,或者网络环境不好,需要保证用户不会因为超时会断,也可以把时间加长。但是一般设置成connectionTimeout="30000"就可以了。太长对系统来说价值不大,反而会浪费系统资源在无谓的长连接上。
附件A。
在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为20000毫秒。 <Connector
className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="20000"
useURIValidationHack="false"
/>
本文是就Tomcat 4为基础向大家介绍WEB容器调优的,因为许多朋友安装好之后就开始正式上线,很少有人以用户现场为基础对服务器进行调优。如果并发量小,系统可能不会出问题,但是并发量大时,系统反应速度迅速下降,由于不了解原因,因此大家还拼命在自己的应用中寻找问题,从而浪费了宝贵的现场时间。但是Tomcat如何调优呢?
其实真正的WEB容器调优是需要许多方面的知识的,你必须了解网络+硬件+OS+JVM+WEB容器,但是这篇文章无法讲解那么多,而应用服务器本身也有些调优的基本原则,下文就会给予介绍。
先在Tomcat安装目录中找到conf子目录,然后再打开web.xml文件,搜索附件A中的内容,可能会有些不同。不同的地方就是需要修改的部分。
1. 屏蔽DNS查询。
Web应用程序可以通过Web容器提供的getRemoteHost()方法获得访问Web应用客户的IP地址和名称,但是这样会消耗Web容器的资源,并且还需要通过IP地址和DNS服务器反查用户的名字,因此当系统上线时,可以将这个属性关闭,从而减少资源消耗,那么Web应用也就只能记录下IP地址了。修改的属性是enableLoopups="false"
2. 调整线程数。
Tomcat通过线程池来为用户访问提供响应,对于上线的系统初步估计用户并发数量后,然后调整线程池容量。例如:用户并发数量大约在100左右。那么可以设置minProcessors="100" maxProcessors="100",将最大和最小设置为一样后,线程池不会再释放空闲的线程,使用户访问突然增加的时候,不需要再消耗系统资源去创建新的线程。
3. 调整最大连接数
这个其实最复杂,即使用户并发量大,但是系统反应速度快的话,可以把这个值不用设置太高,高了系统需要消耗大量的资源去切换线程,但是如果设置太低也会造成应用无法满足用户并发需要。因此设置这个最好能够结合整个系统的跟踪与调优,使系统达到最好的平稳状态。一般设置为maxProcessors的1.5倍就可以了。
4. 调整网络超时。
主要是HTTP协议也有个连接过程,客户端连接到服务器上后,多长时间没有得到处理就会被释放。如果服务器处理速度较慢,但是希望每个用户都能得到有效处理,或者网络环境不好,需要保证用户不会因为超时会断,也可以把时间加长。但是一般设置成connectionTimeout="30000"就可以了。太长对系统来说价值不大,反而会浪费系统资源在无谓的长连接上。
附件A。
在tomcat配置文件server.xml中的<Connector ... />配置中,和连接数相关的参数有:
minProcessors:最小空闲连接线程数,用于提高系统处理性能,默认值为10
maxProcessors:最大连接线程数,即:并发处理的最大请求数,默认值为75
acceptCount:允许的最大连接数,应大于等于maxProcessors,默认值为100
enableLookups:是否反查域名,取值为:true或false。为了提高处理能力,应设置为false
connectionTimeout:网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为20000毫秒。 <Connector
className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8080" minProcessors="5" maxProcessors="75"
enableLookups="true" redirectPort="8443"
acceptCount="10" debug="0" connectionTimeout="20000"
useURIValidationHack="false"
/>
发表评论
-
JMAP、jstat命令详解(转)
2012-10-17 18:35 887JMAP、jstat命令详解(转) 显示java进程内 ... -
jprofiler官网
2012-10-17 18:36 1278jprofiler官网: http://www.ej-tec ... -
jstat使用
2012-10-17 18:36 827jstat使用 . jstat 1. j ... -
最大连接数配置和jvm内存配置 .
2012-10-31 18:27 1456最大连接数配置和jvm ... -
tomcat的maxThreads、acceptCount(最大线程数、最大列队数
2012-10-31 18:27 891tomcat的maxThreads、acceptCou ... -
tomcat最大连接数
2012-10-31 18:28 897tomcat最大连接数 错误信息: Maximum num ... -
java虚拟机启动的内存分配管理
2012-10-16 16:29 0java虚拟机启动的内存分 ... -
JAVA_OPTS简介(详细)
2012-10-17 18:38 1947JAVA_OPTS简介(详细) . JAVA_OPTS ,顾 ... -
JAVA_OPTS各参数的含意及配置
2012-10-16 16:18 0JAVA_OPTS各参数的含意及配置 Xms Xmx X ... -
tomcat运行期优化及问题解决方案(转)
2012-10-16 15:47 0tomcat运行期优化及问题 ... -
Tomcat连接线程超出(转)
2012-10-16 15:42 0Tomcat连接线程超出 今天下午突然发现系统不能访问,检查 ... -
tomcat中的server.xml元素详解
2018-05-13 18:55 336tomcat中的server.xml元素详解 server ... -
java.lang.OutOfMemoryError: Java heap space 解决方法2
2012-10-16 15:37 993java.lang.OutOfMemoryError: J ... -
java.lang.OutOfMemoryError: Java heap space错误及处理办法(收集整理、转) .
2012-10-16 15:33 1162java.lang.OutOfMemoryError: Jav ... -
java.lang.OutOfMemoryError: Java heap space 的解决(摘抄1)
2012-10-16 15:26 738java.lang.OutOfMemoryError: J ... -
tomcat 优化解决方案(转载)
2012-10-16 14:01 849[/color] tomcat 优化解决方案 1. 如何加 ... -
tomcat服务器连接数问题解决 (转载)
2012-09-27 15:59 1027问题描述: 有一个系统 ... -
ORACLE 外键禁用
2012-04-23 17:05 1434删除所有外键约束 Sql代码 1.select 'al ... -
数据线程监控
2012-04-22 11:55 901select count(*) from v$process; ... -
Oracle监控数据库性能的SQL汇总
2012-04-21 23:09 957Oracle监控数据库性能的SQL汇总 1. 监控事例的等 ...
相关推荐
### Tomcat常用功能的配置详解 #### 一、修改Tomcat的JDK目录 在运行Tomcat时,我们需要指定一个JDK版本。这是因为Tomcat作为Java应用服务器,其运行依赖于JDK环境。若想更改Tomcat所使用的JDK路径,可以按照以下...
### Tomcat性能调优及配置技巧 #### 一、Tomcat设置Gzip,减少网络流量 Gzip是一种常用的压缩算法,通过将响应的数据进行压缩,可以显著减少数据在网络中的传输量,从而加快页面加载速度,提升用户体验。在Tomcat...
在Linux环境中,使用Apache Tomcat是开发者和系统管理员常用的工具,因为其性能稳定、配置灵活且社区支持广泛。最新版的Apache Tomcat 10.0.2带来了许多改进和新特性,旨在提升性能、安全性和兼容性。 首先,我们来...
Apache Tomcat 9.0是Java开发者常用的开源Web服务器和Servlet容器,由Apache软件基金会维护。这个压缩包包含了Tomcat 9.0.12的最新版本,适用于Windows 64位操作系统。作为Java应用程序服务器,Tomcat主要支持Java ...
- **端口冲突**:如果8080等常用端口被其他服务占用,Tomcat将无法启动。可以通过修改`conf/server.xml`文件中的`<Connector>`元素来更改监听端口。 - **日志文件问题**:Tomcat的日志文件可能因权限问题或磁盘空间...
Tomcat是Java Web应用程序最常用的服务器平台,尤其在轻量级应用中占据主导地位。这本书的第二版不仅提供了最新的Tomcat版本信息,还涵盖了从安装、配置到优化、安全等多个方面的知识。 1. **Java Servlet和JSP**:...
Apache Tomcat是一款开源的Java Servlet容器,它实现了Java Servlet和JavaServer Pages (JSP) 规范,是开发和部署Java Web应用程序的常用平台。Tomcat以其轻量级、高效和易于管理的特点,被广泛应用于各种规模的企业...
- **插件与工具**:列举了一些常用的插件和工具,以辅助开发人员更好地使用Tomcat。 通过以上知识点的梳理,我们可以看出《Tomcat权威指南》是一本全面介绍Tomcat的书籍,不仅包含了基础知识,还深入探讨了高级配置...
### Java JSP MySQL Tomcat:构建数据驱动的Web应用程序 ...通过学习本书,读者不仅能够掌握 JSP、JDBC、MySQL 和 Tomcat 的基本概念和操作技巧,还能够了解如何结合这些技术来解决实际问题,从而提升自己的开发技能。
当遇到问题时,查看日志、检查配置、使用`catalina.sh debug`命令启动Tomcat以获取更详细的调试信息,都是常用的故障排除手段。 总结来说,Tomcat6作为一款成熟的Java Web服务器,提供了丰富的功能和高度的可配置...
- **实时监控**:掌握常用的监控工具和技术,实现对Tomcat运行状态的实时监控,及时发现并解决问题。 #### 3. 高可用性部署 - **负载均衡方案**:探讨不同类型的负载均衡器(如硬件、软件)以及它们在高可用性集群...
《Tomcat与Java Web开发技术...综上所述,《Tomcat与Java Web开发技术详解》这本书会全面地探讨Tomcat的使用技巧以及Java Web开发的核心技术。通过深入学习,开发者可以更好地驾驭Tomcat,创建高效、稳定的Web应用。
对于“apache-tomcat-7.0.103.tar.gz”,这是一个在Linux或Unix环境下常用的压缩格式。首先,你需要使用`tar`命令来解压这个文件,然后使用`gzip`来处理gz扩展名的压缩部分。一旦解压完成,你会得到一个完整的Tomcat...
### Tomcat Server.xml 配置详解 #### 一、引言 在当今互联网技术领域,Apache Tomcat作为一款开源的应用服务器,在Java Web开发中扮演着...掌握这些配置技巧,能够帮助开发者更好地管理和优化自己的Web应用程序。
总结,Tomcat作为Java Web开发的常用服务器,具备易用性、稳定性及高效性,是学习和开发Java Web应用的首选。通过理解其工作原理、配置方法以及项目部署技巧,可以更好地利用Tomcat进行Web应用的开发和维护。对于...
### MyEclipse10优化及常用设置 #### 修改编码方式 在进行开发工作时,确保项目的文本文件(如Java源代码、...以上就是关于MyEclipse10的一些常见优化和设置方法,这些技巧能够帮助开发者更高效地进行软件开发工作。
4. **Tomcat笔记.zip**:这个压缩包可能包含了一整套的Tomcat使用心得和技巧,可能是从安装、配置、调试到优化的全面总结,对于日常开发和问题解决极具参考价值。 5. **Tomcat** 和 **apache-tomcat-8.0.50**:这两...
Tomcat插件是开发者常用的工具,它能够帮助用户在Eclipse环境中便捷地配置、启动、停止和监视Tomcat服务器。以下是一些关于Tomcat插件和Eclipse集成开发环境的相关知识点: 1. **Apache Tomcat**:Tomcat是一个开源...