Re: [請益] java的效能!?

看板Soft_Job作者 (資訊苦力)時間14年前 (2011/05/24 12:03), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串41/52 (看更多)
※ 引述《Aurim (Who cares?)》之銘言: : ※ 引述《lgd1008 (lgd1008)》之銘言: : : 不要只把 VM, GC 算進 overhead, 而不同時考慮他們可能對效能產生的幫助, : 請試舉一例VM/GC對整體效能有幫助的例子。 因為懂得不多所以僅對GC的部分提供一點小心得。 GC對於AP的影響除了回收的時間與次數之外,最重要的關係者就是你的Generation的 調整與配置,如何因應系統的運作行為去調整演算法與Generation的設定以達到減少 GC的時間、次數是很重要的一個效能調校環節。 因為VM在實作上的差異,導致了GC的運作行為也不一樣,有的VM是GC的三個階段都 作,有的只作mark跟sweep但是不做compaction,斷裂的問題就是從這來的,現在是比 較少有這種狀況了,不過一但斷裂發生,你的程式碼調得再好也是枉然!因為GC的thread 掌握了monitor之後,整個系統都不動了~ GC thread的優先權是這麼的高,一但他卡住 ,其它的事也都別想要做了。 曾遇過有些客戶覺得我有預算就直接多買一點記憶體,這樣總行了吧! 實體記憶體的大小我不知道他會加到多少,但是我注意的是分了多少給VM,給少了,VM 就一天到晚在GC,給太多,要是Generation的配置沒有因應AP的物件生成行為去調整的 話,一次Full GC就可以讓系統凍結30秒以上....這問題要怎麼界定是效能問題還是 middleware的設定問題? 也許這些都被認為與純粹的程式效能調校沒有關係,那就可以了解有些AP交給客戶使用 之後的惡名是從何而來了。 上了production才是噩夢的開始。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.229.63.63
文章代碼(AID): #1DsouQef (Soft_Job)
討論串 (同標題文章)
文章代碼(AID): #1DsouQef (Soft_Job)