2010-12-02 34 views
2

最近我開始開發一個JBoss SEAM Web應用程序(拍賣網站)。到目前爲止,我一直都很棒,但最近我遇到了很長的加載時間(特別是在javascripts/css文件等資源上,而且頁面本身很慢)。分析/調試JBoss AS/Seam應用程序

是否有一個JBoss SEAM/AS的分析器,我可以看到內存中有哪些類?

什麼可能是CSS/JS /圖像文件加載時間高的原因?由於開發原因,我還沒有啓用由接縫提供的網頁緩存過濾器。這是我的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-爆炸我的文件部署到服務器。

設置:

  • JBoss應用服務器5.1
  • JBoss Seam的2.2.2CR1
  • JRebel的
  • PrimeFaces 1.1

系統

  • 英特爾Core 2 Duo E6550
  • 4 GB的內存

回答

2

我寫了一篇博客文章,我發現,可以測量你的組件使用每個方法調用的攔截器。

這樣你可以看到哪些方法使用很長時間,並且可以在你的代碼中發現錯誤。 看看here並向下滾動到第二個示例。

你會得到的輸出是這樣的:

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 knowledge-base一個分析網頁,但它不是真的好。

丹艾倫還寫了一個很好的兩部分文章,關於加快你的jsf應用程序,這是值得一讀。

Part 1

Part 2


一個Firebug像工具也對JavaScript/AJAX性能工具

+0

一個必須在攔截器是太好了!感謝那:)好的文章以及SEAM的更高級/性能方面。我已經安裝了FireBug,它似乎像JavaScript,樣式表,圖像等資源需要1-2秒加載(使用primefaces會導致大量的加載時間)。普通頁面在200-400毫秒內加載。這相當oke我猜,但仍然可以更快:) – 2010-12-02 14:58:18