博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS环境下tomcat启动超级慢的解决方案
阅读量:5139 次
发布时间:2019-06-13

本文共 864 字,大约阅读时间需要 2 分钟。

在本地开发环境,应用正常启动。

在CentOS测试环境,应用启动速度也是正常的。

但是在阿里云的生产环境,tomcat启动超级慢,并且在最终打印出来以下内容:

org.apache.catalina.util.SessionIdGenerator createSecureRandomINFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [152,149] milliseconds.

152秒,这可以就是2分钟啊。并且如果多次启动,可能需要等待更久,有几次上线只是在启动时等待了5分钟多。

经过百度,发现是Tomcat 7/8使用org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom类产生安全随机类SecureRandom的实例作为会话ID时,由于堵塞,造成时间上的消耗。

解决方案如下,由于第一种需要修改catalina.sh,在生产环境没有尝试。而是采用的第二种的方式。

有两种解决办法:
1)在Tomcat环境中解决
可以通过配置JRE使用非阻塞的Entropy Source。
在catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom 即可。
加入后再启动Tomcat,整个启动耗时下降到Server startup in 2912 ms。
2)【已验证】在JVM环境中解决
打开$JAVA_PATH/jre/lib/security/java.security这个文件,找到下面的内容:
securerandom.source=file:/dev/urandom
替换成
securerandom.source=file:/dev/./urandom

转载于:https://www.cnblogs.com/Candies/p/6985746.html

你可能感兴趣的文章
c# 类成员的定义 定义方法、字段和属性【转】
查看>>
三级菜单读取文件版
查看>>
大数据谁掌控?
查看>>
大数据分析之—基于模型的复杂数据多维聚类分析
查看>>
让大数据成为一种基本的使用和操作能力
查看>>
大数据下的精准营销,媒介们将何去何从
查看>>
数据分析在“用户研究”中起到哪些作用
查看>>
服务器用户权限管理
查看>>
H5 页面 上使用js实现一键复制功能
查看>>
函数指针&指针函数(附指针&数组)
查看>>
HDU 2709 Sumsets(递推)
查看>>
高级I/O之记录锁
查看>>
js原生实现轮播
查看>>
全局变量&局部变量
查看>>
Python---BeautifulSoup模块
查看>>
iOS CLGeocoder反地理编码获取地理位置
查看>>
硬盘安装CentOS7——回忆篇
查看>>
(JQuery)当页面常见时间无操作的时候,跳转到登录页面
查看>>
Autoware 培训笔记 No. 3——录制航迹点
查看>>
字符流
查看>>