Tomcat7到Tomcat8性能下降(差不多50%)

时间:2017-10-13 17:49:28

标签: tomcat tomcat7 tomcat8

我在我们的生产环境中将应用服务器从tomcat7升级到tomcat8。硬件配置与旧环境完全相同。

我看到avg响应时间增加了近50%(从204ms到~450ms)我查看了我们的APM,我可以看到tomcat8应用服务器中的JSP处理时间增加了。

以前有人遇到过这个问题吗?如果是这样,请分享解决方案。

这里附加了tomcat7和tomcat8密钥事务细分。

我看到tomcat8上的JSP处理时间显着增加。

Tomcat7:

Tomcat7 Key transaction breakdown

Tomcat8: Tomcat8 Key transaction breakdown

1 个答案:

答案 0 :(得分:0)

最后我明白了:Apache Tomcat8文档帮助我确定了问题。

  

统一表达式语言3.0增加了对引用静态字段和方法的支持。在JSP中支持此功能需要更改javax.servlet.jsp.el.ScopedAttributeELResolver实现,以便它还检查标识符以查看它们是否是导入的类或字段的名称。在某些情况下,此更改会导致显着减速。这会影响可能引用页面,请求,会话或应用程序作用域变量的标识符,或者可能未定义。未定义时,解析标识符需要更长的时间,因为现在还要检查它是否是导入的类或字段。为了避免这种速度减慢,代码如:

     

$ {未定义}

     

应替换为:

     

$ {requestScope.undefined}

     

或类似,使用变量所在的适当范围   定义

以下是完整文档:https://tomcat.apache.org/migration-8.html#JavaServer_Pages_2.3

现在我将tomcat降级到版本7并开始与开发人员一起解决问题,希望下个月升级回tomcat8!