浅谈Tomcat常用调试诀窍
发布时间:2023-07-22 14:57:26 所属栏目:教程 来源:
导读:大多数用户安装好Tomcat之后就开始正式运行,很少对服务器进行全面调优。这样做的结果是如果并发量小,系统可能不会出问题,但是并发量大时,系统反应速度迅速下降,但由于不了解原因,因此可能还在自己的应用程序中
大多数用户安装好Tomcat之后就开始正式运行,很少对服务器进行全面调优。这样做的结果是如果并发量小,系统可能不会出问题,但是并发量大时,系统反应速度迅速下降,但由于不了解原因,因此可能还在自己的应用程序中寻找问题~~, 本文就Tomcat 4为基础向大家介绍WEB容器调优。 首先真正的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"就可以了。太长对系统来说价值不大,反而会浪费系统资源在无谓的长连接上。 5. 在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" /> (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐