2017-10-13 11 views
0

私たちの運用環境でtomcat7からtomcat8へのアプリケーションサーバーのアップグレードを行いました。ハードウェア構成は、古いenvとまったく同じです。Tomcat7からTomcat8へのパフォーマンスが低下しました(ほぼ50%)

私は平均応答時間を見ていますが、私は私たちのAPMを見て、私はJSPの処理時間がtomcat8アプリケーションサーバーで増加見ることができます(204msから〜450msまで)ほぼ50%増加しました。

誰もがこの問題に直面していますか?もしそうなら、解決策を共有してください。

ここでは、tomcat7とtomcat8のキートランザクション内訳を添付しています。

tomcat8でJSP処理時間が大幅に増加しました。

Tomcat7:

Tomcat7 Key transaction breakdown

Tomcat8: Tomcat8 Key transaction breakdown

答えて

0

は最後に、私はそれを考え出した:ApacheのTomcat8ドキュメントは、問題を特定するために私を助けました。

統一表現言語3.0は、静的フィールドとメソッドを参照するためのサポートを追加しました。 JSPでこの機能をサポートするには、javax.servlet.jsp.el.ScopedAttributeELResolver実装を変更して、識別子がインポートされたクラスまたはフィールドの名前であるかどうかを確認する必要がありました。場合によっては、この変更により大幅に遅くなることがあります。これは、ページ、リクエスト、セッション、またはアプリケーションスコープの変数を参照する可能性のある識別子に影響を与えたり、定義されていない可能性があります。未定義の場合、識別子が解決されるまでにかなりの時間がかかります。これは、インポートされたクラスまたはフィールドであるかどうかを確認するためです。このスローダウンコードなどを避けるために:

に置き換えなければならない{不定} $:

$ {requestScope.undefined}

または同様、のための適切なスコープを使用して変数は と定義されています。

ここでは、完全なドキュメントである。今のところhttps://tomcat.apache.org/migration-8.html#JavaServer_Pages_2.3

私はうまくいけば来月バックtomcat8にアップグレードされ、バージョン7にTomcatを分解し、問題を解決するために、開発者と協力し始めました!

関連する問題