tomcat启动非常慢;连接oracle数据库失败,jdbc错误日志提示connection reset;测试主机间网络互通及数据库端口都正常

Posted 不帅可以,但是必须要骚气

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat启动非常慢;连接oracle数据库失败,jdbc错误日志提示connection reset;测试主机间网络互通及数据库端口都正常相关的知识,希望对你有一定的参考价值。

技术分享图片
 
【判断确认:这时候大家可能要去检查一下/dev/random 这个设备档案。可以用cat /dev/random 来看它的内容,如果你发现他一直没显示任何内容﹝可能是乱码数字之类的﹞,那就是它出问题了。
通过cat /proc/cpuinfo | grep rdrand 可以查看自己的CPU是否支持DRNG特性,利用硬件来提高熵池产生的速度(此条存疑)   】
【解决:增大/dev/random的熵池(推荐)
问题的原因是由于熵池不够大,所以增大它是最彻底的方法。我们可以通过软件的方法实现,下面是软件的安装和配置流程。
安装熵服务
yum install rng-tools
启动熵服务
systemctl start rngd
如果你的 CPU 不支持 DRNG 特性或者像我一样使用虚拟机,可以使用/dev/unrandom来模拟。
看熵池大小cat /proc/sys/kernel/random/entropy_avail
vi /usr/lib/systemd/system/rngd.service
(或者 cp /usr/lib/systemd/system/rngd.service /etc/systemd/system; vim /etc/systemd/system/rngd.service)
####以下是编辑内容
  ExecStart=/sbin/rngd -f -r /dev/urandom
####
systemctl daemon-reload
systemctl start rngd
systemctl enable rngd
systemctl status rngd
cat /proc/sys/kernel/random/entropy_avail
】
【参考
为提高安全性在启动的时候通过随机生成一个密钥。 /dev/random 是Linux下的随机函数生成器,读取它相当于生成随机数字。/dev/random会根据 噪音 产生随机数,如果 噪音 不够它就会阻塞。Linux是通过I/O,键盘终端、内存使用量、CPU利用率等方式来收集 噪音 的,如果 噪音 不够生成随机数的时候就会被 阻塞 。
应用服务可以用/dev/urandom替换/dev/random,其实还有第三种方式——增大/dev/random的熵池。问题的原因是由于熵池不够大,所以增大它是最彻底的方法。 通过 cat /proc/sys/kernel/random/entropy_avail 我们可以查看现在的熵池大小;我们需要找到一种方式来提高这个值就行了。如果你的CPU带有DRNG特性,可以充分利用硬件来提高熵池产生的速度 。通过cat /proc/cpuinfo | grep rdrand 可以查看自己的CPU是否支持,一般来说Intel的Ivy_Bridge架构的CPU都支持(i3、i5需要注意是否采用该种架构,i7和xeon基本上都支持);AMD的CPU在2015年以后生成的都支持。(如果你是虚拟机需要开启额外的参数)。如果你的硬件不支持,也没有关系,我们可以让/dev/unrandom来做“熵源”。】

 

 

以上是关于tomcat启动非常慢;连接oracle数据库失败,jdbc错误日志提示connection reset;测试主机间网络互通及数据库端口都正常的主要内容,如果未能解决你的问题,请参考以下文章

Spring第一个请求非常慢

docker+tomcat 启动时非常慢原因之JRE /dev/random阻塞

tomcat启动非常慢原因深入分析

tomcat 连接超慢!!!

Tomcat 7/8 启动非常慢的解决方法

JDK8+tomcat8环境tomcat启动时SecureRandom 非常慢解决办法