Discussion:
[問題] Hibernate...讓我傷腦筋的東西阿
(时间太久无法回复)
KO
2007-03-09 15:38:43 UTC
Permalink
請教各位
敝人手上的大型專案, 不曉得當初公司怎麼評估的
使用了 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
KO
2007-03-09 17:22:02 UTC
Permalink
※ 引述《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
NS2 ~
2007-03-10 01:32:25 UTC
Permalink
Post by KO
否則記憶體的支援也僅限於 4G 以下 (這是官方文件寫的)
我甚至還把 core dump 的 log 燒成光碟寄給 IBM 轉到國外的工程師找問題 (隨便都幾G)
結果回信 "Hibernate init 的時候記憶體要求太高, 導致 Web Server 當機"
我想知道有什麼樣的方式可以避免這狀況...找遍國外論壇沒有 tuning 的方法
目前人少的狀況已經是這樣
我擔心幾百個人上線的時候, 會不會每五分鐘就當機一次 >"<
不知道台灣有沒有人像我們公司將 Hibernate 實做到大型專案?
能否提供點意見呢?
謝謝
要不要到javaworld問看看,那裡有專版討論O/R Mapping
hibernate的使用者好像也不少~

http://www.javaworld.com.tw


--
 ▅ █
 █ █ ▆▇█ ▋ ▋ ▉
 █ █ █ ▌ ▌ ▊
 █▌ ▅▆█ ██▌ ███ ▋
 ▊ █ █ ▋ ▌ ▌ ▌
 ▋ █▅█▎▂▃█ ▋ ▋ ▍
--
╔═══╗ ┼────────────────────────╮
║狂狷 ║ │* Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮
║ 年少║ ┼╮ < IP:140.119.164.252 > ╰─╮
╚╦═╦╝  ╰  * From:59-121-194-236.dynamic.hinet.net 
 ─╨─╨─ KGBBS ─ ◎ 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩 ◎ 
Harold
2007-03-10 06:46:23 UTC
Permalink
有試試看 hibernate forum 嗎?
http://forum.hibernate.org/

hibernate 應該很多人用, 其他人應該有遇過類似問題
以前聽朋友說過 hibernate 用起來很簡單
但是要花時間慢慢 tuning

※ 引述《***@whshs.cs.nccu.edu.tw (NS2 ~)》之銘言:
: ※ 引述《***@ptt.cc (KO)》之銘言:
: > 否則記憶體的支援也僅限於 4G 以下 (這是官方文件寫的)
: > 我甚至還把 core dump 的 log 燒成光碟寄給 IBM 轉到國外的工程師找問題 (隨便都幾G)
: > 結果回信 "Hibernate init 的時候記憶體要求太高, 導致 Web Server 當機"
: > 我想知道有什麼樣的方式可以避免這狀況...找遍國外論壇沒有 tuning 的方法
: > 目前人少的狀況已經是這樣
: > 我擔心幾百個人上線的時候, 會不會每五分鐘就當機一次 >"<
: > 不知道台灣有沒有人像我們公司將 Hibernate 實做到大型專案?
: > 能否提供點意見呢?
: > 謝謝
: 要不要到javaworld問看看,那裡有專版討論O/R Mapping
: hibernate的使用者好像也不少~
: http://www.javaworld.com.tw

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 67.161.17.127
e :) y
2007-03-10 09:18:43 UTC
Permalink
※ 引述《E04urmom (KO)》之銘言:
: ※ 引述《PsMonkey (痞子軍團團長)》之銘言:
[del]
: 目前 Web Server 使用 AIX Version Websphere
[del]

sorry 對hibernate不太清楚
但是對於 Websphere 還有點經驗 可惜都是不好的經驗
尤其是效能問題 ...
也許可以找一下 Hibernate 應用在Websphere 的資訊

--
PLUR

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 84.162.113.107

Loading...