记:项目构建时间优化
当前项目一直使用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
之后保存重启项目,再次查看启动日志,发现现在启动时间已经比较快了~
这样一轮操作下来,tomcat构建耗时的问题终于解决了
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 2025成都.NET开发者Connect圆满结束
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 用一种新的分类方法梳理设计模式的脉络