kubernetes中springcloud启动慢

avatar 2022年4月25日19:32:54 评论 1,154 次浏览

在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.

avatar

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: