你若带 ./ 便是晴天 —— TOMCAT启动慢问题调优纪实
2017-03-31 09:01
225 查看
昨天,在一套公司新搭建的标准环境上进行部署系统,遇到了一个问题,就是tomcat 启动非常慢的问题。虚拟机环境如下
操作系统 :centos 7.2
jdk :java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
TOMCAT :Server version: Apache Tomcat/7.0.73
CPU ,内存 :2core +8g
我们部署的是一套web 系统,没有多么庞大,虽然里边有好多的功能,平时在本机开发的时候也是很正常的,不算很慢,在原来的其他的演示环境和现场环境应该都很快,没遇到过服务启动很慢的现象,然而这次在新搭建的环境上却真的出现了问题,在最开始的时候,我们只是增量更新新修改的内容,然后启动,发现 TOMCAT 启动总是停止在
先说解决办法,可能是最关心的,
有两种解决办法:
1)在Tomcat环境中解决
可以通过配置JRE使用非阻塞的Entropy Source。
在catalina.sh中加入这么一行:
即可。
2)在JVM环境中解决
打开$JAVA_PATH/jre/lib/security/java.security这个文件,找到下面的内容:
替换成
一开始我们以为是我们更新的 内容引起的问题,然后好一阵折腾,各种替换,就差把整个应用 都删掉重新来一次了。不论怎么折腾,他就是这样,忘了中间什么事情耽误了一会,竟然能从页面访问了,然后开始想应该不是我们更新的代码的问题,因为本机开发环境是好的,开始想有可能是tomcat的问题,后面就要祭出法宝了,开启百度和google的模式,当然了,他俩肯定会告诉你解决办法的,先百度后谷歌,如果你什么都不知道的话,就把你遇到的现象放到百度里边搜索,然后他会给你提示出 关键词,你按照关键词搜索就会得到你想要的内容,当然百度的搜索结果你得会辨别真假,不要轻易上当。如果有了关键词
我相信google 能告诉你更好的答案。 百度会告诉你 原来是这个样子,google会告诉你原来世界是这样才会这样,知其然而知其所以然。 当然了,啰里啰嗦说了一大堆,都没说到关键点上,下面打住,进入正题。从TOMCAT 启动慢入手,搜索结果中能值得我们参考的我想有两个 https://my.oschina.net/caiw/blog/794637?nocache=1490857665059 http://blog.csdn.net/njchenyi/article/details/46641141 http://www.cnblogs.com/suiyueqiannian/p/6060951.html?utm_source=itdadao&utm_medium=referral
另外一个是 http://www.linkedin.com/pulse/whats-so-special-devurandom-brad-diggs 这个似乎需要翻墙,专业解释为什么带 ./
博文中 提到了很多的数学概念,别问我,我给你解释不清楚。我书读的少。
亲测有效,下面是图
最开始的时候,如下图所示 用时差不多 1070s 也就是得13 分钟
修改完成后 9S
操作系统 :centos 7.2
jdk :java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
TOMCAT :Server version: Apache Tomcat/7.0.73
CPU ,内存 :2core +8g
我们部署的是一套web 系统,没有多么庞大,虽然里边有好多的功能,平时在本机开发的时候也是很正常的,不算很慢,在原来的其他的演示环境和现场环境应该都很快,没遇到过服务启动很慢的现象,然而这次在新搭建的环境上却真的出现了问题,在最开始的时候,我们只是增量更新新修改的内容,然后启动,发现 TOMCAT 启动总是停止在
先说解决办法,可能是最关心的,
有两种解决办法:
1)在Tomcat环境中解决
可以通过配置JRE使用非阻塞的Entropy Source。
在catalina.sh中加入这么一行:
JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"
即可。
2)在JVM环境中解决
打开$JAVA_PATH/jre/lib/security/java.security这个文件,找到下面的内容:
securerandom.source=file:/dev/urandom
替换成
securerandom.source=file:/dev/./urandom
一开始我们以为是我们更新的 内容引起的问题,然后好一阵折腾,各种替换,就差把整个应用 都删掉重新来一次了。不论怎么折腾,他就是这样,忘了中间什么事情耽误了一会,竟然能从页面访问了,然后开始想应该不是我们更新的代码的问题,因为本机开发环境是好的,开始想有可能是tomcat的问题,后面就要祭出法宝了,开启百度和google的模式,当然了,他俩肯定会告诉你解决办法的,先百度后谷歌,如果你什么都不知道的话,就把你遇到的现象放到百度里边搜索,然后他会给你提示出 关键词,你按照关键词搜索就会得到你想要的内容,当然百度的搜索结果你得会辨别真假,不要轻易上当。如果有了关键词
我相信google 能告诉你更好的答案。 百度会告诉你 原来是这个样子,google会告诉你原来世界是这样才会这样,知其然而知其所以然。 当然了,啰里啰嗦说了一大堆,都没说到关键点上,下面打住,进入正题。从TOMCAT 启动慢入手,搜索结果中能值得我们参考的我想有两个 https://my.oschina.net/caiw/blog/794637?nocache=1490857665059 http://blog.csdn.net/njchenyi/article/details/46641141 http://www.cnblogs.com/suiyueqiannian/p/6060951.html?utm_source=itdadao&utm_medium=referral
另外一个是 http://www.linkedin.com/pulse/whats-so-special-devurandom-brad-diggs 这个似乎需要翻墙,专业解释为什么带 ./
博文中 提到了很多的数学概念,别问我,我给你解释不清楚。我书读的少。
亲测有效,下面是图
最开始的时候,如下图所示 用时差不多 1070s 也就是得13 分钟
修改完成后 9S
相关文章推荐
- Tomcat性能调优, 启动出现警告问题 [minSpareThreads did not find a matching property.]
- Tomcat性能调优后, 启动出现警告问题 [did not find a matching property.]
- Tomcat性能调优后, 启动出现警告问题 [did not find a matching property.]
- Tomcat性能调优后, 启动出现警告问题 [did not find a matching property.]
- Tomcat 启动两次的问题
- tomcat启动失败问题
- 关于tomcat 启动不了的问题。
- 解决tomcat5.5以上不能用命令行启动的问题
- tomcat启动问题
- MyEclipse启动tomcat问题:please verify the preferences field with the prompt :can not find a free socket,郁闷了半天
- Tomcat并发性能调优问题
- 关于Tomcat安装后无法启动的问题
- Tomcat6.0启动过程中可能遇到的一些问题及解决方案
- 关于TOMCat虚拟主机配置后工程启动几次的问题
- 从eclipse3.4中启动tomcat6.0.16出现有关“SetPropertiesRule”错误的问题解决方法[转载]
- My eclipse中tomcat启动失败的问题
- myeclipse启动tomcat碰到的数据连接问题
- tomcat启动问题
- myeclipse中启动tomcat的问题 (Source not found for StandardContext.start())
- 关于同时启动两个tomcat服务器的问题的整理(转)