2015-01-01 215 views
2

Tomcat的消耗每次部署大约20分钟,我发现它被困在部署阶段,见下面的日志,慢的Tomcat 7的部署

第一次启动会消耗约2-7分钟,然后每次重新启动都会变得更糟。

enter image description here

环境:

的Tomcat 7.0.57(Apache的Tomcat的7.0.57.tar.gz)

VPS:Ubuntu的12.04.5x32 LTS(512M RAM)

我所做的:

  1. 创建一个新的'干净'VPS没有任何改变。

  2. 通过下面的脚本安装JDK 7:

    sudo易于得到安装python-软件性能

    须藤附加的apt-库PPA:webupd8team/JAVA

    sudo易于得到更新

    命令和apt-get安装的Oracle JDK 7的安装程序

  3. 上传的apache-tomcat的-7.0.57.tar.gz于r主目录。

  4. 解压的tar.gz

  5. 进入bin文件夹执行搭配chmod 777 *./startup.sh

任何人都可以给一个建议?谢谢。

+0

尝试设置这个环境变量'tomcat.util.sc an.DefaultJarScanner.jarsToSkip = *',这可能是botleneck,你可以在'setenv.sh'中设置它 –

+0

@JigarJoshi对不起,我没有找到setenv.sh,它不是在bin文件夹中找到? –

+0

ok让我们试试这个'export JAVA_OPTS =“ - Domcat.util.scan.DefaultJarScanner.jarsToSkip = *”'在启动tomcat之前在你的终端上执行这个命令并试一试 –

回答

3

after this interesting discussion我们发现瓶颈是

"localhost-startStop-1" daemon prio=10 tid=0xa880e400 nid=0xbb9 runnable [0xa80f e000] 
java.lang.Thread.State: RUNNABLE 
at java.io.FileInputStream.readBytes(Native Method) 
at java.io.FileInputStream.read(FileInputStream.java:272) 
at sun.security.provider.SeedGenerator$URLSeedGenerator.getSeedBytes(See dGenerator.java:551) 
at sun.security.provider.SeedGenerator.generateSeed(SeedGenerator.java:1 39) 
at sun.security.provider.SecureRandom$SeederHolder.<clinit>(SecureRandom .java:197) 
at sun.security.provider.SecureRandom.engineNextBytes(SecureRandom.java: 214) 

它是围绕使用随机种子通过指定

export JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom" 

注的工作:这是不太安全的

https://bugs.openjdk.java.net/browse/JDK-6202721