??? 昨晚,我跟我們的PM討論到選課系統(tǒng)的問題,由于選課緊張,同時在線的同學一千多,所以引起服務(wù)器的高峰,以致系統(tǒng)有時會崩潰。針對這個問題我也深刻感受過(我們之前都是這樣選過來的)。
于是我建議:用集群提高性能來解決。
PM向我介紹了服務(wù)器的整體性能,(具體。。。這個不說了,可以算是較高級的服務(wù)器吧)同時也指出了整個問題的根本不在于服務(wù)器的性能而在于系統(tǒng)的本身,雖然集群可以可提高30%左的性能,他當時就說了句:“整個資源就這么多,誰先到,就先得。所以我們就采取了限制人數(shù)的方法。”這汲及到一個系統(tǒng)設(shè)計的問題,下面就將自己體會的說說吧,
??? 當我們對數(shù)據(jù)進行操作的時候,總是會先把這部份的數(shù)據(jù)鎖起來,以保證數(shù)據(jù)的正確性,那么當同時有很多人對這個數(shù)據(jù)進行操作的時候,就會因為先到的人鎖住了數(shù)據(jù)沒有釋放出來而導致,操作失敗。怎么才能防止這種情況呢?我們在設(shè)計的時候就要盡量減少對數(shù)據(jù)庫的操作,而將操場作放在一個事務(wù)里處理。我們用的是Weblogic服務(wù)器,所以設(shè)計的時候就盡量的依賴于weblogic的EJB容器進行管理,將事務(wù)放到內(nèi)存里處理,這樣就減少了對數(shù)據(jù)庫的操作,提高整體的性能。由于我的文采不好,可能表達得有點模糊,大家就原諒我一次啦。。哈哈。。
??? 總結(jié)一句:就是盡量將事務(wù)在程序上處理,不要放在數(shù)據(jù)庫里處理。
posted on 2006-06-01 22:43
badboy 閱讀(242)
評論(0) 編輯 收藏 所屬分類:
開發(fā)經(jīng)驗