关于SecureRandom导致tomcat启动慢

测试环境部署一个http api服务时,发现每次启动服务都要很久。感觉业务代码初始化不需要这么久,索性把所有业务逻辑都关掉,只起一个空的http接口看看。果然,整个启动过程还是需要1分钟。查看日志,时间基本都花在一个叫做createSecureRandom的方法上面。具体日志如下:

Oct 16, 2017 10:35:21 AM org.apache.catalina.util.SessionIdGenerator createSecureRandom
INFO: Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [60,765] milliseconds.

网上搜了一下,发现这是一个跟会话id相关的随机模块,随机种子取自会阻塞的文件/dev/random。由于我这是测试环境,不需要这么强的随机性,改成非阻塞的文件/dev/urandom即可加速启动。具体做法就是启动参数加上-Djava.security.egd=file:/dev/./urandom。


参考来源:http://www.jb51.net/article/117086.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值