3

最近、JBoss SEAM Webアプリケーション(オークションサイト)の開発を始めました。これまでのところうまくやっていますが、最近、読み込み時間が長くなりました(特に、javascripts / cssファイルなどのリソースでは、ページ自体が遅いです)。

メモリ内のクラスなどを確認できるJBossSEAM/ ASのプロファイラーはありますか?

CSS / JS / imagesファイルの読み込み時間が長い理由は何でしょうか?開発上の理由により、seamが提供するWebキャッシュフィルターをまだ有効にしていません。これは私のVMの議論です


-Drebel.log=true -noverify -javaagent:"C:\Program Files\ZeroTurnaround\JRebel\jrebel.jar" -Drebel.hibernate_plugin=true -Drebel.seam_plugin=true -Drebel.jboss_plugin=true -Drebel.allow_bytecode_proxy=true  -Dprogram.name="JBoss 5.1 Runtime" -Djava.endorsed.dirs="C:\Java\jboss\as5.0\lib\endorsed" -Dproject.home="C:\Java\jboss\as5.0\server\default\deploy\botenveiling.war" -Xms1024m -Xmx1024m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled -XX:MaxPermSize=512m -Xverify:none

いくつかの調整を行いました(デフォルトのアプリケーションの一部を削除しました): http ://www.jaysonjc.com/programming/how-to-configure-jboss-as-production-settings-and-tuning-tips.html

WAR-explodeを使用してファイルをサーバーにデプロイしています。

設定:

  • JBoss Application Server 5.1
  • JBoss SEAM 2.2.2CR1
  • JRebel
  • PrimeFaces 1.1

システム

  • Intel Core 2 Duo E6550
  • 4GBのメモリ
4

1 に答える 1

2

コンポーネントが使用している各メソッド呼び出しを測定できるインターセプターを紹介したブログ投稿を書きました。

このようにして、どのメソッドが長時間使用しているかを確認し、コードのバグを見つけることができます。ここを見て、2番目の例までスクロールダウンしてください。

次のような出力が得られます。

  284.94 ms   1   FooBean.getRandomDroplets()
  284.56 ms   1   GahBean.getRandomDroplets()
  201.60 ms   2   SohBean.searchRatedDoodlesWithinHead()
  185.94 ms   1   FroBean.doSearchPopular()
  157.63 ms   1   FroBean.doSearchRecent()
  42.34 ms   1   FooBean.fetchMostRecentYodel()
  41.94 ms   1   GahBean.getMostRecentYodel()
  15.89 ms   1   FooBean.getNoOfYodels()
  15.00 ms   1   GahBean.getNoOfYodels()
  9.14 ms   1   SohBean.mainYodels()
  1.11 ms   2   SohBean.trackHoorayEvent()
  0.32 ms   1   FroBean.reset()
  0.22 ms  43   NohBean.thumbPicture()
  0.03 ms  18   FooBean.getMostRecentYodels()
  0.01 ms   1   NohBean.profilePicture()
  0.01 ms   1   FroBean.setToDefault()
  0.01 ms   1   FroBean.getRecentMarker() 

次に、Seamナレッジベースにプロファイリングページがありますが、実際にはそれほど良くありません。

Dan Allenは、jsfアプリケーションの高速化に関する2部構成の投稿も書いています。これは一読の価値があります。

パート1

パート2


Firebugのようなツールもjavascript/ajaxパフォーマンスツールの必需品です

于 2010-12-02T13:19:42.313 に答える