当前位置: 移动技术网 > 网络运营>服务器>tomcat > Tomcat并发优化方法介绍

Tomcat并发优化方法介绍

2019年04月17日  | 移动技术网网络运营  | 我要评论

tomcat 常用运行模式有3种,分别为 bio,nio,apr.生产环境建议用apr,详细请看上一篇博文《tomcat之——运行模式

安装apr

[root@liuyazhuang ~]# yum -y install apr apr-devel openssl-devel 
[root@liuyazhuang ~]# tar zxvf tomcat-native.tar.gz 
[root@liuyazhuang ~]# cd tomcat-native-1.1.24-src/jni/native 
[root@liuyazhuang native]# ./configure –with-apr=/usr/bin/apr-1-config –with-ssl=/usr/include/openssl/ 
[root@liuyazhuang native]# make && make install 

安装完成之后 会出现如下提示信息

libraries have been installed in: 
/usr/local/apr/lib 

安装成功后还需要对tomcat设置环境变量,方法是在catalina.sh文件中增加1行:

在这段下面添加:

============ 
# os specific support. $var _must_ be set to either true or false. 
cygwin=false 
darwin=false 
============== 
catalina_opts=”-djava.library.path=/usr/local/apr/lib” 

修改8080端对应的conf/server.xml

protocol=”org.apache.coyote.http11.http11aprprotocol” 

启动tomcat之后,查看日志

more tomcat_home/logs/catalina.out 
apr 07, 2017 11:49:12 am org.apache.catalina.core.aprlifecyclelistener init 
info: loaded apr based apache tomcat native library 1.1.31 using apr version 1.3.9. 
apr 07, 2017 11:49:12 am org.apache.catalina.core.aprlifecyclelistener init 
info: apr capabilities: ipv6 [true], sendfile [true], accept filters [false], random [true]. 
apr 07, 2017 11:49:12 am org.apache.catalina.core.aprlifecyclelistener initializessl 
info: openssl successfully initialized (openssl 1.0.1e 11 feb 2013) 
apr 07, 2017 11:49:13 am org.apache.coyote.abstractprotocol init 
info: initializing protocolhandler [“http-apr-8080”] 
apr 07, 2017 11:49:13 am org.apache.coyote.abstractprotocol init 
info: initializing protocolhandler [“ajp-apr-8009”] 
apr 07, 2017 11:49:13 am org.apache.catalina.startup.catalina load 
info: initialization processed in 1125 ms 

tomcat 优化

1.jvm 调优

在tomcat_home/bin/catalina.sh 增加如下语句,具体数值视情况而定。
添加到上面catalina_opts的后面即可:

java_opts=-xms512m -xmx1024m -xx:permsize=512m -xx:maxnewsize=1024m -xx:maxpermsize=1024m 

参数详解

-xms  jvm初始化堆内存大小
-xmx  jvm堆的最大内存
-xss   线程栈大小
-xx:permsize jvm非堆区初始内存分配大小
-xx:maxpermsize jvm非堆区最大内存

建议和注意事项:

-xms和-xmx选项设置为相同堆内存分配,以避免在每次gc 后调整堆的大小,堆内存建议占内存的60%~80%;非堆内存是不可回收内存,大小视项目而定;线程栈大小推荐256k.

32g内存配置如下:

java_opts=-xms20480m -xmx20480m -xss1024k -xx:permsize=512m -xx:maxpermsize=2048m 

2.关闭dns反向查询

在<connector port=”8080″ 中加入如下参数

enablelookups=”false” 

3.使用apr

具体安装操作,见文章开头部分

4.优化tomcat参数

<connector port=”8080″ 
protocol=”org.apache.coyote.http11.http11aprprotocol” 
connectiontimeout=”20000″ //链接超时时长 
redirectport=”8443″ 
maxthreads=”500″//设定处理客户请求的线程的最大数目,决定了服务器可以同时响应客户请求的数,默认200 
minsparethreads=”20″//初始化线程数,最小空闲线程数,默认为10 
acceptcount=”1000″ //当所有可以使用的处理请求的线程数都被使用时,可以被放到处理队列中请求数,请求数超过这个数的请求将不予处理,默认100 
enablelookups=”false” 
uriencoding=”utf-8″ /> 

总结

以上就是本文关于tomcat并发优化方法介绍的全部内容,感兴趣的朋友可以继续参阅:优化tomcat配置(内存、并发、缓存等方面)方法详解浅谈tomcat三种运行模式tomcat开启jmx服务方法介绍等,如有不足之处,欢迎留言指出,希望对大家有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网