前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >生产环境:tomcat9,jdk8优化配置

生产环境:tomcat9,jdk8优化配置

作者头像
拓荒者
发布2019-03-16 14:42:50
3.2K0
发布2019-03-16 14:42:50
举报

版权声明:本文为博主原创文章,未经博主允许不得转载。

https://blog.csdn.net/u014172271/article/details/80381640

1.tomcat内存优化:

对tomcat启动参数优化我们可以在tomcat的启动脚本 catalina.sh 中设置 JAVA_OPTS参数。

JAVA_OPTS="-server -Xms2048M -Xmx2048M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_HOME/logs/heap.dump"

2.并发优化

${tomcat}/webapps/docs/config/http.html文件中参数:

(1)maxConnections:The maximum number of connections that the server will accept and process at any given time

服务器在任何给定时间接受和处理的最大连接数。

(2)acceptCount:The maximum queue length for incoming connection requests when all possible request processing threads are in use.当所有可能的请求处理线程都在使用时,传入连接请求的最大队列长度。监听端口队列最大数,满了之后客户请求会被拒绝

(3)maxThreads:工作线程,The maximum number of request processing threads to be created by this Connector

(4)minSpareThreads:最小空闲的工作线程。The minimum number of threads always kept running

3.其他优化:

(1)${tomcat}/webapps/docs/config/host.html autoDeploy:This flag value indicates if Tomcat should check periodically for new or updated web applications while Tomcat is running 自动部署Tomcat是否应该定期检查新的或更新的Web应用程序。 false (2)${tomcat}/webapps/docs/config/http.html enableLookups:false  若设为true, 则支持域名解析,可把 ip 地址解析为主机名 (3)${tomcat}/webapps/docs/config/context.html:

reloadable:false 

4. connector:apr。

bio  bio(blocking I/O),顾名思义,即阻塞式I/O操作,表示Tomcat使用的是传统的Java I/O操作(即java.io包及其子包)。Tomcat在默认情况下,就是以bio模式运行的。遗憾的是,就一般而言,bio模式是三种运行模式中性能最低的一种。我们可以通过Tomcat Manager来查看服务器的当前状态。 nio  是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写。它拥有比传统I/O操作(bio)更好的并发运行性能。 apr 

(Apache Portable Runtime/Apache可移植运行库),是Apache HTTP服务器的支持库。你可以简单地理解为,Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处理文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。 Tomcat apr也是在Tomcat上运行高并发应用的首选模式。

下载相关的工具包 wget http://mirrors.aliyun.com/apache/apr/apr-1.6.3.tar.gz wget http://mirrors.aliyun.com/apache/apr/apr-util-1.6.1.tar.gz  mkdir   /usr/local/apr   将tomcat9的bin目录下的tomcat-native.tar.gz复制到/usr/local/apr  tar -zxvf tomcat-native.tar.gz cd tomcat-native-1.2.12-src cd native ./configure --with-apr=/usr/local/apr  tar zxvf apr-1.6.3.tar   cd apr-1.6.3   ./configure --prefix=/usr/local/apr   make   make install   tar -zxvf apr-iconv-1.2.2.tar.gz    cd apr-iconv-1.2.2   ./configure --prefix=/usr/local/apr-iconv --with-apr=/usr/local/apr   make   make install 按照上面的安装好之后配置tomcat: vim catalina.sh: JAVA_OPTS="-server -Xms2048M -Xmx2048M -XX:MetaspaceSize=128M -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=$CATALINA_HOME/logs/heap.dump" JAVA_OPTS="$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib" 注意:开启了apr之后,jvm用到的native内存会增大,因此要适当调大Metaspace空间,添加JVM选项:-XX:MetaspaceSize=128m server.xml: <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol" connectionTimeout="20000" redirectPort="8443" />

<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="off" />

到现在我们看到配置成功。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018/12/11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档