Tempos de resposta lenta do serviço: Java SecureRandom e / dev / random
Estou tentando depurar algumas respostas lentas exibidas por um aplicativo implantado no Tomcat. Agora eu estou focandoSecureRandom
e/dev/random
(algumas das outras causas prováveis foram investigadas e descartadas). O padrão é o seguinte:
A chamada de serviço envolve criptografia e descriptografia (AES / BCE / PKCS5)
É possível que o SecureRandom init / repopulating esteja levando a isso?
(Embora haja um log escrito em catalina.log que diz"Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [28,760] milliseconds."
)
Além disso, para verificar se/dev/random
ou/dev/urandom
está sendo usado, eu usei o teste deessa questão. Para minha surpresa, não vi leituras de nenhum deles, ao contrário do que acontece na pergunta vinculada. Estas são as últimas linhas dostrace
registro:
3561 lstat("/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/jsse.jar", {st_mode=S_IFREG|0644, st_size=258525, ...}) = 0
3561 open("/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/jsse.jar", O_RDONLY) = 6
3561 stat("/dev/random", {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 8), ...}) = 0
3561 stat("/dev/urandom", {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0
3561 open("/dev/random", O_RDONLY) = 7
3561 open("/dev/urandom", O_RDONLY) = 8
3561 unlink("/tmp/hsperfdata_xxxx/3560") = 0
O que está sendo usado para semear o SecureRandom?
Para sua informação,versão-java
java version "1.6.0_32"
OpenJDK Runtime Environment (IcedTea6 1.13.4) (rhel-7.1.13.4.el6_5-x86_64)
OpenJDK 64-Bit Server VM (build 23.25-b01, mixed mode)