👋 欢迎来到吴老二技术博客,专注运维 / 数据库 / 云原生
首页/云原生/正文

kubernetes中springcloud启动慢

吴
吴老二
2022-04-25云原生2566 次浏览0 条评论

在kubernetes中,所有的服务都是java项目,使用的是springcloud框架,现有的服务中,每次启动都是四五分钟,有的服务加载依赖包可能确实启动慢,但是加载少的也特别慢,这个和开发沟通了一下,总是反馈说是资源太低,后来在网上找了一下,有的说是把kubernetes的requests和limits的值调大点,更有甚者说直接不限制,这个确实无语了。。。

下面找到一个还可以的解决方法,这里记录一下,需要修改java的配置文件,主要是因为linux系统中/dev/random和/dev/urandom是不一样的,/dev/random设备提供的不是伪随机数据,而是基于环境中的真实随机因素(即背景噪声作为熵源)的随机数据。所以,/dev/random不像设备/dev/urandom。后者是一个伪随机数据生成器,能按照请求快速生成所需数量的数据。/dev/random能生成多少内容由环境中的噪声决定。数据不足时,/dev/random只能等待。所以,在内容不足时,/dev/random会将读操作阻塞,直至收集到足够的随机数据。这就是测试结果差异产生的原因,/dev/random阻塞第二次的读操作将近1分钟时间。下面进行测试,先把基础镜像拉取下来,然后修改java的配置:

[wolf@wulaoer.org🔥🔥🔥🔥 ~]# docker pull registry-vpc.cn-beijing.aliyuncs.com/wulaoer-harb/centos7-jdk:1.2
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# docker run -it  registry-vpc.cn-beijing.aliyuncs.com/wulaoer-harb/centos7-jdk:1.2 /bin/bash
[root@d58128902bb9 /]# sed -i "s/securerandom.source=file:\/dev\/random/securerandom.source=file:\/dev\/urandom/g" /usr/local/java/jdk1.8.0_281/jre/lib/security/java.security
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# docker ps -a
CONTAINER ID        IMAGE                                                              COMMAND                  CREATED             STATUS                       PORTS               NAMES
d58128902bb9        registry-vpc.cn-beijing.aliyuncs.com/wulaoer-harb/centos7-jdk:1.2   "/bin/bash"              2 minutes ago       Exited (0) 4 seconds ago                         heuristic_shockley
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# docker commit d58128902bb9 centos7-jdk:1.3
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# docker tag centos7-jdk:1.3 registry-vpc.cn-beijing.aliyuncs.com/wulaoer-harb/centos7-jdk:1.3
[wolf@wulaoer.org🔥🔥🔥🔥 ~]# docker push registry-vpc.cn-beijing.aliyuncs.com/wulaoer-harb/centos7-jdk:1.3
这里主要是把java中$JAVA_HOME/jre/lib/security/java.security的
securerandom.source=file:/dev/random
改为
securerandom.source=file:/dev/urandom
然后重新生成镜像,经过测试,修改前后的镜像对比确实快了一分钟左右,所以这个方法还是靠谱的,这里记录一下方便后期使用,吐槽一下,去掉requests和limits的值或者增加配置都会失去kubernetes的意义,如果去掉requests和limits的值或者不限制在kubernetes中就无法做到自动伸缩,如果不限制,当访问超过node的配置就会出现重启,用户请求就会出现503.
文章底部广告位在后台「广告设置」填写广告代码后显示

评论 0

评论需 登录 后发表(注册并验证邮箱)。
还没有评论,来抢沙发~