Tomcat启动时SecureRandom非常慢怎么办

2023-04-19 05:50:00 tomcat 启动时 SecureRandom

Tomcat启动时SecureRandom非常慢是一个普遍存在的问题,原因是SecureRandom需要收集足够多的随机数据来产生安全的随机数。这可能需要一段时间,尤其是在系统性能较低的情况下。

解决这个问题的一种方法是使用预先生成的安全随机数。可以使用系统的/dev/urandom或/dev/random文件来提供这些安全随机数。这样可以大大减少SecureRandom的启动时间,因为它不需要收集更多的随机数据。

另一种解决方案是使用本地实现的SecureRandom,而不是使用Java的实现。这可以大大减少启动时间,因为本地实现可以更快地产生安全的随机数。

此外,还可以使用-Djava.security.egd系统属性来指定一个“熵源”(entropy source),以替代SecureRandom的内部收集熵(entropy)的方法。这可以大大减少SecureRandom的启动时间,因为它不需要收集更多的随机数据。

总的来说,要解决Tomcat启动时SecureRandom非常慢的问题,可以使用预先生成的安全随机数、本地实现的SecureRandom以及-Djava.security.egd系统属性来指定一个“熵源”。这些技术都可以大大减少SecureRandom的启动时间,从而提高Tomcat的启动性能。

相关文章