项目异常问题解决

  created  by  鱼鱼 {{tag}}
创建于 2018年10月29日 09:21:57 最后修改于 2019年02月28日 19:17:02

性能优化

    这天 程序抛出了一个WARN日志:

    createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [43,844] milliseconds.

这意味着SHA1PRNG算法导致项目启动多花费了43秒,这是基于SHA-1算法实现且保密性较强的伪随机数生成器。

    解决方案

1.从tomcat层面上解决:

    在catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom 

2.从java层面解决

    打开$JAVA_PATH/jre/lib/security/java.security这个文件,将下面的内容:

securerandom.source=file:/dev/urandom

    替换成

securerandom.source=file:/dev/./urandom


Error parsing HTTP request header

    解决方案

    搜索结果:Tomcat缓冲区不够,修改server.xml中的maxHttpHeaderSize="8192"(参考值),或是在项目其他位置调整。

    但是,这不是唯一的问题所在,我的项目中,使用了Http协议的80端口请求自动定向为Https协议的443端口,使用SSL后,传输的Header是不相同的,这种不标准的做法引起了警告,但是不影响功能使用。


热加载问题

    这种错误是很罕见的,是因为项目采用了热加载,此类A已经非彼类A,日常开发中基本不会有用到动态生成字节码文件的情境,所以这种异常只会极小概率出现在开发环境中,若想深入了解这个问题,我们还应该深入了解jvm与类加载器相关原理。

参考链接:Tomcat 8熵池阻塞变慢详解


评论区
评论
{{comment.creator}}
{{comment.createTime}} {{comment.index}}楼
评论

项目异常问题解决

项目异常问题解决

性能优化

    这天 程序抛出了一个WARN日志:

    createSecureRandom Creation of SecureRandom instance for session ID generation using [SHA1PRNG] took [43,844] milliseconds.

这意味着SHA1PRNG算法导致项目启动多花费了43秒,这是基于SHA-1算法实现且保密性较强的伪随机数生成器。

    解决方案

1.从tomcat层面上解决:

    在catalina.sh中加入这么一行:-Djava.security.egd=file:/dev/./urandom 

2.从java层面解决

    打开$JAVA_PATH/jre/lib/security/java.security这个文件,将下面的内容:

securerandom.source=file:/dev/urandom

    替换成

securerandom.source=file:/dev/./urandom


Error parsing HTTP request header

    解决方案

    搜索结果:Tomcat缓冲区不够,修改server.xml中的maxHttpHeaderSize="8192"(参考值),或是在项目其他位置调整。

    但是,这不是唯一的问题所在,我的项目中,使用了Http协议的80端口请求自动定向为Https协议的443端口,使用SSL后,传输的Header是不相同的,这种不标准的做法引起了警告,但是不影响功能使用。


热加载问题

    这种错误是很罕见的,是因为项目采用了热加载,此类A已经非彼类A,日常开发中基本不会有用到动态生成字节码文件的情境,所以这种异常只会极小概率出现在开发环境中,若想深入了解这个问题,我们还应该深入了解jvm与类加载器相关原理。

参考链接:Tomcat 8熵池阻塞变慢详解



项目异常问题解决2019-02-28鱼鱼

{{commentTitle}}

评论   ctrl+Enter 发送评论