tokuhirom's Blog

Tomcat の session id の生成がめちゃくちゃ遅いとき

Sep 27 23:41:00 dev3 docker[56810]: 2021-09-27 23:41:00.043  WARN 1 --- [nio-8080-exec-1] o.a.c.util.SessionIdGeneratorBase        : Creation
 of SecureRandom instance for session ID generation using [SHA1PRNG] took [140,998] milliseconds.

というようなエラーが起きるときがある(VPS などで /dev/random の entropy が十分ではない場合)。

https://newbedev.com/what-exactly-does-djava-security-egd-file-dev-urandom-do-when-containerizing-a-spring-boot-application

これは FAQ で、 Java の起動オプションに -Djava.security.egd=file:/dev/./urandom とつければよい。

spring boot のデフォルトは /dev/urandom を読む実装でいいと思うけれど。