請教各位
敝人手上的大型專案, 不曉得當初公司怎麼評估的
使用了 hibernate O/R 來存取 DB
開發跟修改的時候確實很不錯, 小型的專案以前試過也覺得很棒
可是...
大型的專案, 跑到現在突然覺得...變成被客戶罵的原因
"什麼...Web Server 一啟動就要 4G 的 Ram, 有沒有這麼誇張?"
"啊...又當機...會不會是你們寫的不好?"
"疑...硬碟爆滿? 你們的 AP 幹了什麼? 怎麼會dump log 有幾 G? "
唉............
我該怎麼辦?
只不過七百多個 Table, 六千多個欄位.
難道...Hibernate 真的只能小而美?
目前測試人數不過寥寥五六隻小貓, 系統速度就不是頂好
整個銀行上線幾千個 User, 同時幾百個 connection....想到我臉都綠了
各位高手...我該怎麼辦?
重新來是不可能, 開發都一年了, 也沒可能跟銀行拉下這個臉
難道就是不斷的加 Ram, 不斷的讓客戶罵嗎? >"<
最討厭的, 是隔壁有個專案也是 Java base
偏偏人家用傳統的用法, 寫 connection pooling
ram 只要我的一半不到, 效能也還算能看
搞的我天天被客戶追著罵...
以上...感謝各位
--
雙目之間春情萬種
雙腿之間深不可測
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.23.235
> -------------------------------------------------------------------------- <
作者: E04urmom (KO) 看板: java
標題: Re: [問題] Hibernate...讓我傷腦筋的東西阿
時間: Sat Mar 10 01:22:00 2007
※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: ※ 引述《E04urmom (KO)》之銘言:
: : 難道...Hibernate 真的只能小而美?
: [skip]
: : 最討厭的, 是隔壁有個專案也是 Java base
: : 偏偏人家用傳統的用法, 寫 connection pooling
: 我沒有實務經驗,所以回答不了
: 我只想講... Hibernate 跟 connection pool 應該不是對等的東西
: (我記得 Hibernate 底下也有 connection pool?)
: 您應該講的是直接下 sql 語法吧?
: : ram 只要我的一半不到, 效能也還算能看
: : 搞的我天天被客戶追著罵...
: : 以上...感謝各位
版大
其實, 單純就下 sql 語法跟 O/R Mapping 工具轉換
對於大型專案不是無法解決的問題
針對 sql 語法加上 index 即可解決這部份的瓶頸
現在我遇上最大的麻煩
是在 Web Server init 的時候, 必須 init-load Hibernate 的 class
導致系統效能以及需求大量增加
根據實測,記憶體小餘 1G 以下
Web Server 連 init 都會失敗 (outofmemory error)
介於 1G ~3.xG, 雖然啟動成功
不過隨便點幾個頁面的功能, 不用多久就會導致整個 Web Server 掛點
目前 Web Server 使用 AIX Version Websphere
設定的 Paging size 還不能小於記憶體
等於是吃記憶體又變相吃硬碟
另, Websphere 除非使用 64Bit
否則記憶體的支援也僅限於 4G 以下 (這是官方文件寫的)
我甚至還把 core dump 的 log 燒成光碟寄給 IBM 轉到國外的工程師找問題 (隨便都幾G)
結果回信 "Hibernate init 的時候記憶體要求太高, 導致 Web Server 當機"
我想知道有什麼樣的方式可以避免這狀況...找遍國外論壇沒有 tuning 的方法
目前人少的狀況已經是這樣
我擔心幾百個人上線的時候, 會不會每五分鐘就當機一次 >"<
不知道台灣有沒有人像我們公司將 Hibernate 實做到大型專案?
能否提供點意見呢?
謝謝
--
雙目之間春情萬種
雙腿之間深不可測
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.23.235