10

ウェブサイトのテンプレートに Apache Velocity を使用していますが、そのうちのいくつかは複雑になっています。特定の Velocity 機能でパフォーマンスの問題に気づきましたか? そして、どうやってそれらを回避しましたか?

4

3 に答える 3

12

まず、最新の速度ライブラリ (1.7 または 1.6.4) を使用します。バージョン 1.5 には重大なパフォーマンスの問題が含まれています。

また、実稼働環境で微調整する必要があるパラメーターのリストは次のとおりです。

  1. velocimacro.library.autoreload - falseに設定する必要があります
  2. file.resource.loader.cache - trueに設定する必要があります
  3. file.resource.loader.modificationCheckInterval - -1に設定する必要があります
  4. デフォルト値が十分でない場合は、parser.pool.sizeを増やす必要があります (デフォルト値は 20)。
于 2011-06-21T13:02:42.537 に答える
8

見過ごされがちな最も重要な機能は、パフォーマンスを大幅に向上させるリソース ローダー キャッシング (デフォルトではオフ) です ( file.resource.loader.cache)。

#parseディレクティブもパフォーマンスに顕著な影響を与えるため、テンプレートを論理的な部分に分割するだけでなく、コードの重複を避けるためにのみ使用してください。

テンプレートがロジックに関して非常に複雑になっている場合は、そのロジックをコントローラーにシフトし、すぐにレンダリングできるデータ構造をテンプレートに提供することが可能になるでしょう。

JSP から切り替える前に Velocity の速度をテストしていたとき、私が投げたどのテンプレートでも常に 50% 高速でした。現在、Velocity テンプレートからレンダリングされた何千ものページを含むサイトを生成しており、非常に高速で、パフォーマンスに非常に満足しています。

于 2010-03-01T00:24:58.963 に答える
2

出力テキストを何度もエンコードしないようbyte[]に、ノードにをキャッシュしようとします。ASTText

于 2011-08-11T13:15:45.847 に答える