记:项目构建时间优化

当前项目一直使用jenkins进行构建发布,发现正常情况下构建时间基本上都维持在1min~2min之间;但是系统启动相对来说却有点慢的多了,经过多次启动日志查看排查发现耗时最长的时间是:

05-Mar-2021 17:16:21.919 WARNING [localhost-startStop-1] org.apache.catalina.util.SessionIdGeneratorBase.createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [31,760] milliseconds.

在网上查找资料后确定,发现由于tomcat的session id的生成主要通过java.security.SecureRandom生成随机数来实现,随机数算法使用的是”SHA1PRNG”。在sun/oracle的jdk里,这个算法的提供者在底层依赖到操作系统提供的随机数据,在linux上,与之相关的是/dev/random和/dev/urandom。

解决方法

尝试网上提供的方法,修改jdk的配置$JAVA_HOME/jre/lib/security/java.security文件将securerandom.source=file:/dev/random修改如下

securerandom.source=file:/dev/random
修改为:
securerandom.source=file:/dev/./urandom

之后保存重启项目,再次查看启动日志,发现现在启动时间已经比较快了~

image-20210305093353533

这样一轮操作下来,tomcat构建耗时的问题终于解决了img

参考

1.tomcat sessionid生成导致启动缓慢

2.Tomcat启动Creation of SecureRandom instance卡住解决

posted @   janehost  阅读(148)  评论(0编辑  收藏  举报
编辑推荐:
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
阅读排行:
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 2025成都.NET开发者Connect圆满结束
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 用一种新的分类方法梳理设计模式的脉络
点击右上角即可分享
微信分享提示