Медленный ответ службы Время: Java SecureRandom & / dev / random
Я пытаюсь отладить несколько медленных ответов, обслуживаемых приложением, развернутым на Tomcat. Прямо сейчас я сосредотачиваюсь наSecureRandom
а также/dev/random
(некоторые из других возможных причин были исследованы и исключены). Шаблон выглядит следующим образом:
Сервисный вызов включает в себя шифрование и дешифрование (AES / ECB / PKCS5Padding).
Возможно ли, что инициализация / повторное заполнение SecureRandom ведет к этому?
(Хотя в catalina.log есть журнал, который говорит"Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [28,760] milliseconds."
)
Кроме того, чтобы проверить,/dev/random
или же/dev/urandom
используется, я использовал тест изэтот вопрос, К моему удивлению, я не видел ни одного из них в отличие от того, как это происходит в связанном вопросе. Это последние несколько строк изstrace
журнал:
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
Что тогда используется для посева SecureRandom?
FYI,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)