Re: [問題] Hibernate...讓我傷腦筋的東西阿

看板java作者時間19年前 (2007/03/10 09:32), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/9 (看更多)
俺亂出一下主意, 您可以去試著調看看 ※ 引述《E04urmom.bbs@ptt.cc (KO)》之銘言: > 版大 > 其實, 單純就下 sql 語法跟 O/R Mapping 工具轉換 > 對於大型專案不是無法解決的問題 > 針對 sql 語法加上 index 即可解決這部份的瓶頸 > 現在我遇上最大的麻煩 > 是在 Web Server init 的時候, 必須 init-load Hibernate 的 class 1. 這部分改用 lazy load 模式看看 > 導致系統效能以及需求大量增加 > 根據實測,記憶體小餘 1G 以下 > Web Server 連 init 都會失敗 (outofmemory error) > 結果回信 "Hibernate init 的時候記憶體要求太高, 導致 Web Server 當機" > 我想知道有什麼樣的方式可以避免這狀況...找遍國外論壇沒有 tuning 的方法 > 目前人少的狀況已經是這樣 > 我擔心幾百個人上線的時候, 會不會每五分鐘就當機一次 >"< 2. 這部分試著在 read-only 的運算加生命週期較長的 cache 變動較高的部分先可以不要做沒關係 http://www.hibernate.org/61.html 3. 不知您有沒有調 jvm 預設的 gc 演算法是適用於小型的程式用的 http://java.sun.com/docs/hotspot/gc1.4.2/ 以 sun jvm 為例 http://www.javaworld.com.tw/jute/post/view?bid=5&id=183909&sty=3&keywords=bbs 改用 -XX:+UseParallelGC -XX:ParallelGCThreads=5 平行化的GC方式 (ibm 好像都2 core?) 可以加速回收沒用到的東西 4. 關於 coding 方面,如果是啟動後還是記憶體吃緊 要查看看是不是產生太多用了就丟的物件 試著把他們放到 object pool 重複使用 5. connection pool (pool 一類) 一開始就設大一點, 大概 平均值 * 1.5 的數量先試看看嚕 6. 其實不用等到上線就能測了 JMeter 等著你 :P 7. tempo 最近有寫一點 note http://www.pocketshark.com/blog/page/tempo?entry=bye_bye_criteria_query -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: 218-161-127-199.dynamic.hinet.net
文章代碼(AID): #15yWgJ00 (java)
討論串 (同標題文章)
文章代碼(AID): #15yWgJ00 (java)