Tomcat-调优

Tomcat优化思路

线程池优化

  1. maxConnections 最大连接数

通过命令 ulimit -a 查看当前服务器支持的最大连接数

2.修改 /etc/security/limits.conf

命令: vi /etc/security/limits.conf

在最后添加这两行

3.添加Connector的配置

	3.1 对CPU要求更高时,因为配置过大会和CPU竞争资源,建议不要配置过于大

	3.2 对CPU要求不是特别高时,建议配置在3000左右,配置后要进行压力测试,因为如果这个值超过Tomcat最大承载能力的话性能会出现急剧下降的情况。

	3.3 配置的地方 conf/server.xml -> connector

	3.3 命令打开 vi server.xml

这里主要配置 maxConnections(最大连接数) maxThreads(最大线程数) acceptCount(最大排位等待数) , acceptCount最好是在500到1000之间,最好配置和maxThreads持平就行了 还要配置compression 设置开启Gzip压缩 和 minSpareThreads 最小线程保活数 这个不能超过最大线程数

内存优化

Tomcat本身是居于JVM开发的。与其说是Tomcat优化不如说是JVM优化

1.JVM优化建议

	1.1 -server 这个不用说了吧。上服务器就一定要开启的

	1.2 -Xms 最小内存 建议与-Xmx相同

	1.3 -Xmx 最大内存 建议设置可用内存的80%, 这里要注意一点 JVM是会在最小和最大内存之间动态漂移的。所以建议将两个值设置为一样。防止最大和最小之间漂移导致资源消耗

	1.4 -XX:MetaspaceSize 元空间初始值 1.7版本叫持久空间 1.8后才叫元空间 

	1.5 -XX:MaxMetaspaceSize 元空间最大内存  默认无限 这个可配可不配

	1.6 -XX:MaxNewSize 新生代最大内存 默认16M 如果在大内存的服务器上可以调高 比如在32G内存中可以调到32M 64G内存可以调64M

2.配置

进入Tomcat目录 vi bin/catalina.sh

JAVA_OPTS=”-server -Xms512m -Xmx512m -XX:MaxNewSize=64m -XX:MaxMetaspaceSize=128m -XX:MetaspaceSize=128m”

这里只要配置JAVA_OPTS 就可以了。在Tomcat启动时候就会分配给它这个内存

利用jmap 命令就可以查看我们刚刚配置的参数是否生效

ps -ef grep tomcat 查看进程编号

jmap -heap 3340(进程编号)

高级优化(最强出装)前面的都是些开胃菜

1.Tomcat 三种模式

1.BIO 最稳定最老的一个连接器,使用阻塞形式处理request请求

2.NIO 使用Java的异步IO技术,进行非阻塞形式处理Request请求

3.APR 原生C语言编写的非阻塞IO,目前性能最理想

2.安装APR

	apr安装步骤
		1 apr
			1.1 解压至安装目录
		  1.2 ./configure -prefix=/usr/local/apr
		  1.3 make
		  1.4 make install
		
		2 apr-iconv
		  2.1 解压至安装目录
		  2.2 ./configure -prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr
		  2.3 make & make install
		
		3 apr-util
		  3.1 解压至安装目录
		  3.2 ./configure -prefix=/usr/local/apr-util --with-apr=/usr/local/apr --with-apriconv=/usr/local/apr-iconv
		  3.3 make & make install

3.Tomcat的APR模式配置

	1配置Tomcat之前需要安装Tomcat-native
		%CATALINA_HOME%/bin/tomcat-native-{版本}.tar.gz
		
	2解压该文件夹

	3进入 native目录进行安装
		./configure --with-apr=/usr/local/apr
		make & make install
			
	4修改catalina.sh
	LD_LIBRARY_PATH=$LD_LIBRARY_PAYH:/usr/local/apr/lib export LD_LIBRARY_PATH

	5server.xml -> %CATALINA_HOME%/conf/server.xml
		
		修改Connectior节点的protocol属性
			-> org.apache.coyote.http11.Http11AprProtocol即可
Loading Disqus comments...
Table of Contents