龙空技术网

Tomcat性能参数设置这样优化后,性能起飞!

程序猿怪咖 807

前言:

当前同学们对“apache配置优化windows”大概比较珍视,看官们都需要知道一些“apache配置优化windows”的相关知识。那么小编也在网摘上搜集了一些对于“apache配置优化windows””的相关文章,希望各位老铁们能喜欢,各位老铁们一起来学习一下吧!

1 Tomcat简介

Apache Tomcat是一个开源Web服务器软件和是基于Java Servlet容器设计的。

Tomcat官网:

也可以说Tomcat是一个web服务器。Web服务器是通过接收请求和提供内容来运行网站的。

市面上的Web服务器包含:Tomcat、Apache这两种。

2 Tomcat的优点与缺点开源。这意味着专业开发人员不断对其进行更新和改进。轻量。它提供快速的数据处理,有助于提高您在处理复杂项目时的生产力和效率。灵活。服务器带有内置的自定义选项。因此可以按需设置参数配置。速度和效率相对较慢。Tomcat的速度和效率不如Apache Web服务器,特别是静态页面处理。3 Tomcat 安装

这里以Winds10安装为例。

1、确保你的服务器安装了JVM环境(JDK)。

2、去官网 :下载Tomcat的zip文件解压到指定的目录【注意目录一定不要有中文】。

3、配置Tomcat环境变量

I、复制Tomcat的安装路径

II、此电脑 -> 属性 -> 高级系统设置 -> 环境变量

III、系统变量 -> 新建 -> 变量名CATALINA_HOME 变量值Tomcat的安装路径 -> OK

VI、系统变量 -> Path -> 编辑 -> 新建 -> 输入%CATALINA_HOME%\bin ->OK

4、测试是否安装成功

Tomcat安装路径下的bin目录里找到startup.bat,双击运行。

然后打开浏览器访问,看一下是否启动成功。

如果你进入到了Tomcat的这个欢迎界面,那么恭喜你Tomcat安装成功!

4 Tomcat性能参数设置

4.1、启动时内存参数优化

1、Window下, 找到catalina.bat文件,编辑文并在最前面加上以下参数:

set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m;-Duser.timezone=GMT+08;

2、Linux下,周到catalina.sh文件,编辑文件并在最前面添加以下参数:

JAVA_OPTS="-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -Duser.timezone=Asia/Shanghai"

注意:防止最前面,这里还设置了时区。

4.2、Tomcat线程池配置

如果你的Tomcat版本在Tomcat6以下,就需要设置线程池的陪吃参数了。

1、找到 /conf/server.xml 文件,拉到最下面增加以下配置:

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-"maxThreads="500" minSpareThreads="20" maxIdleTime="60000" />

注意:一般服务器设置最大线程500,最小空闲线程数20,线程最大空闲时间60秒。

2、然后找到 <Connector ...> 节点,增加executor属性:

<Connector executor="tomcatThreadPool"port="80"protocol="HTTP/1.1"maxThreads="600"minSpareThreads="100"maxSpareThreads="300"connectionTimeout="60000"keepAliveTimeout="15000"maxKeepAliveRequests="1"redirectPort="443"....../>

参数解释:

maxThreads:最大的线程数;minSpareThreads:最小备用线程数,该值在Tomcat启动时的初始化;maxSpareThreads:最大备用线程数,当创建的线程超过该值,Tomcat会自动杀死用不到的socket线程;acceptCount:设定当所有处理请求线程被使用时,此时可以把请求放到队列中排队处理,其余的请求会被拒绝。connnectionTimeout:网络连接超时(毫秒),通常设为30000毫秒。设为0则永不超时。enableLookups:是否允许DNS查询。

注意:多个connector可以共用同一个线程池。

4.3、Tomcat连接Connector参数优化

<Connector executor="tomcatThreadPool"port="80" protocol="HTTP/1.1"connectionTimeout="60000"keepAliveTimeout="15000"maxKeepAliveRequests="1"redirectPort="443"maxHttpHeaderSize="8192" URIEncoding="UTF-8" enableLookups="false" acceptCount="100" disableUploadTimeout="true"/>

参数解释:

connectionTimeout: 网络连接超时(毫秒),通常可设为30000毫秒。设为0则永不超时。keepAliveTimeout:长连接最大保持时间(毫秒)。maxKeepAliveRequests - 最大长连接数(1表示禁用,-1表示不限制个数,默认100个。一般设在100~200个)maxHttpHeaderSize:http请求头信息的最大程度,超过该长度的部分不予处理。一般设8KURIEncoding:指定Tomcat的URL编码格式。acceptCount:定当所有处理请求线程被使用时,此时可以把请求放到队列中排队处理,超过该值的请求不予处理,默认为10个。disableUploadTimeout:上传文件时是否使用超时机制。enableLookups:是否反查域名(true或false)。设置为false时可提高处理能力。bufferSize:定义要为该连接器创建的输入流提供的缓冲区的大小(以字节为单位)。默认情况下,提供2048字节的缓冲区。maxSpareThreads - 做多空闲连接数,当创建的线程数超过该值,Tomcat自动杀死不需要的socket线程,默认值为50。maxThreads: 最多同时处理的连接数。即Tomcat可创建的最大的线程数。minSpareThreads:最小空闲线程数,Tomcat初始化时创建的线程数。minProcessors:Tomcat4时,最小空闲连接线程数,可提高系统处理性能,默认值为10。maxProcessors:Tomcat4时,并发处理最大连接线程数,默认值为75。(用于Tomcat4中)

4.4、Tomcat负载均衡、集群的配置

对于负载均衡、集群的配置,只有Tomcat6以上支持。

找到Tomcat的server.xml,编辑该文件添加以下参数:

<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8"><Manager className="org.apache.catalina.ha.session.DeltaManager"expireSessionsOnShutdown="false"notifyListenersOnReplication="true"/><Channel className="org.apache.catalina.tribes.group.GroupChannel"><Membership className="org.apache.catalina.tribes.membership.McastService"address="228.0.0.4"port="45564"frequency="500"dropTime="3000"/><Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"address="auto"port="4000"autoBind="100"selectorTimeout="5000"maxThreads="6"/><Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter"><Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/></Sender><Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/><Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/></Channel><Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/><Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/><Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"tempDir="/tmp/war-temp/"deployDir="/temp/war-deploy/"watchDir="/tmp/war-listen/"watchEnabled="false"/><ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/><ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>

注意事项: 如果tomcat在同机器上,每个节点中用于监听的TCP端口号(port)不能相同,配置范围是4000-4100。

4.5、用JMX监控Tomcat运行状况

如果你想用JMXj监控Tomcat运行状况,需要手工调整启动参数,如下:

1、Woinds下找到cataline.bat文件,编辑并增加一行参数:

set JAVA_OPTS=%JAVA_OPTS% -Dcom.sun.management.jmxremote.port=10090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file="%CATALINA_BASE%\conf\logging.properties"

2、Linux下找到cataline.sh文件,编辑并增加一行参数:

JAVA_OPTS="-Dcom.sun.management.jmxremote.port=10090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=%CATALINA_BASE\conf\logging.properties"

注意:

JDK\jre\lib\management\management.properties文件必须有。

重启tomcat服务,然后用Java中的jconsole参数连接,就可以监控Tomcat运行情况了。

4.6、Tomcat多应用配置

找到server.xml文件中的Host标签中,增加一行应用参数:

<Context displayName="OA" docBase="/app/web-apps/GACWP" path="" />

注意:path代表上下文名称,空表示是根路径。

标签: #apache配置优化windows