遇到的问题:一个项目部署,启动异常耗时,访问接口也特别慢,正常情况下是特别快的,排除掉sql的问题。
解决方案:
①:修改jdk产生随机数的方式
路径:jdk下jre/lib/security/java.security
找到securerandom.source=file:/dev/random
改为securerandom.source=file:/dev/./urandom
注:关于这个random和urandom,这个是linux的提供的随机伪设备,提供永不为空的随机字节数据流,许多加密解密程序需要用到它们提供的随机数。它们的区别在于:random 依赖于系统中断,因此在系统的中断数不足时,/dev/random设备会一直封锁,尝试读取的进程就会进入等待状态,直到系统的中断数充分够用。这也就是tomcat启动变慢的原因;而urandom不依赖系统的中断,也就不会造成进程忙等待,但是数据的随机性不高
之后重启tomcat
②:修改随机数方式如果没提高速度可以试试将域名映射到hosts中
使用hostname查看本机name
使用ifconfig查看ip
修改/etc/hosts 将name和ip组合起来
之后重启,就会快很多
原理:hosts文件是Linux系统中一个负责IP地址与域名快速解析的文件,hosts文件包含了IP地址和主机名之间的映射,还包括主机名的别名。在没有域名服务器的情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址,否则就需要使用DNS服务程序来解决。通常可以将常用的域名和IP地址映射加入到hosts文件中,实现快速方便的访问,省去这个解析查找的时间就会快很多