Centos7+Tomcat8配置javaweb環境,tomcat啓動巨慢的問題

./startup.sh以後,就訪問個人主頁xxx.xxx.xxx.xxx:8080,我就看到那個網頁那個小圈一直再轉啊,再轉啊,快的能轉五六分鐘,慢的能轉十幾分鍾都不能打開。java

緣由:算法

在apache-tomcat官方文檔:如何讓tomcat啓動更快裏面提到了一些啓動時的優化項,其中一項是關於隨機數生成時,採用的「熵源」(entropy source)的策略。
他提到tomcat7的session id的生成主要經過java.security.SecureRandom生成隨機數來實現,隨機數算法使用的是」SHA1PRNG」apache

A.使用僞隨機函數生成器vim

/dev/unrandom /dev/urandom並非真正的隨機行爲(其實通常不容易重複),主要有兩個地方能夠修改。
經過修改 Tomcat 啓動文件 -Djava.security.egd=file:/dev/urandom
經過修改 JRE 中的 java.security 文件 securerandom.source=file:/dev/urandomtomcat

B.增大/dev/random的熵池(推薦) session

問題的緣由是因爲熵池不夠大,因此增大它是最完全的方法。咱們能夠經過軟件的方法實現,下面是軟件的安裝和配置流程。
安裝熵服務
yum install rng-tools
啓動熵服務
systemctl start rngd
若是你的 CPU 不支持 DRNG 特性或者像我同樣使用虛擬機,能夠使用/dev/unrandom來模擬。
   cp /usr/lib/systemd/system/rngd.service /etc/systemd/systemdom

   vim /etc/systemd/system/rngd.serviceide

  #如下是編輯內容函數

  ExecStart=/sbin/rngd -f -r /dev/urandom優化

從新載入服務
   systemctl daemon-reload

   systemctl restart rngd
通過上面的修改,咱們再觀察 cat /proc/sys/kernel/random/entropy_avail 基本上在 3000 左右。這個時候從新啓動 Tomcat,發現啓動時間正常。

原文:https://blog.csdn.net/qq276726581/article/details/53790926

相關文章
相關標籤/搜索